Cod sursa(job #549563)

Utilizator Robert29FMI Tilica Robert Robert29 Data 8 martie 2011 19:35:31
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
FILE*f=fopen("dusman.in","r");
FILE*g=fopen("dusman.out","w");
int n,m,k,nr1,nr2,a[1001][1001],ok,kk,s[1001],viz[1001];

void back(int nr){
	if(ok) 
		return ;
	if(nr>n){
		++kk;
		if(kk==k){
			for(int i=1;i<=n;++i)
				fprintf(g,"%d ",s[i]);
			ok=1;
		}
	}
	
	for(int i=1;i<=n;++i){
		if(!viz[i]){
			s[nr]=i;
			viz[i]=1;
			if(a[s[nr]][s[nr-1]]==0)
				back(nr+1);
			viz[i]=0;
		}
		
	}
	
}
int main() {
	fscanf(f,"%d%d%d",&n,&k,&m);
	for(int i=1;i<=m;++i){
		fscanf(f,"%d%d",&nr1,&nr2);
		a[nr1][nr2]=a[nr2][nr1]=1;
	}
	
	back(1);
	
	fclose(g);
	fclose(f);
	return 0;
}