Cod sursa(job #517882)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 30 decembrie 2010 02:00:57
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

#define file_in "dusman.in"
#define file_out "dusman.out"

int N,M,K,x,y;
int sol[10100];
int A[1010][1010];
char viz[10100];

void back(int k){

	if (K<0)
		return ;
    if (k>N){
       if (--K==0)
		   for (int i=1;i<=N;++i) printf("%d ", sol[i]);
       return ;
    }

    for (int i=1;i<=N;++i){
       if (!viz[i]&& !A[sol[k-1]][i]){
          sol[k]=i; 
          viz[i]=1;
          back(k+1);
          viz[i]=0;
       }
    }
}


int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d %d %d", &N, &K, &M);
	while(M--){
		scanf("%d %d", &x, &y);
	    A[x][y]=A[y][x]=1;
	}
	
	back(1);
	
	return 0;
	
}