Cod sursa(job #237595)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 30 decembrie 2008 10:04:55
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#define NMAX 1000

int n,m,p,st[NMAX+1],u[NMAX+1],nr;
char a[NMAX+1][NMAX+1];

void bkt(){
int k,up;
k=1;st[k]=0;
while(k){
	up=0;
	while(!up&&st[k]<n){
		st[k]++;
		if(!u[st[k]]&&!a[st[k]][st[k-1]]) u[st[k]]=1,up=1;
		}
	if(up)
		if(k==n) {
			nr++;
			if(nr==p) break;
			u[st[k]]=0;
			}
		else k++,st[k]=0;
	else k--,u[st[k]]=0;
	}
}

int main(){
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
int i,x,y;
scanf("%d%d%d",&n,&p,&m);
for(i=0;i<m;++i){
	scanf("%d%d",&x,&y);
	a[x][y]=a[y][x]=1;
	}
bkt();
for(i=1;i<=n;++i) printf("%d ",st[i]);
return 0;
}