Cod sursa(job #340009)

Utilizator ZethpixZethpix Zethpix Data 12 august 2009 15:58:37
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
FILE *f,*g;
long a[1002],b[1002],sol[1002],use[1002],n,x,m,i,nr;
void afis(){
	long i;
	for(i=1;i<=n;i++)
		fprintf(g,"%ld ",sol[i]);
	fprintf(g,"\n");
}
long enemy(){
	long i,j,k;
	for(i=1;i<=n-1;i++)
		for(j=i+1;j<=n;j++)
			for(k=1;k<=m;k++)
				if(sol[i]==a[k]&&sol[j]==b[k]) return 0;
				else
					if(sol[i]==b[k]&&sol[j]==a[k]) return 0;
	return 1;
}
void back(long k){
	if(k>n){
		if(enemy) nr++;
		if (nr==x){
			afis;
			return;
		}
	}
	else
		for(i=1;i<=n;i++)
			if(!use[i]){
				use[i]=1;
				sol[k]=i;
				back(k+1);
				use[i]=0;
			}
}
int main(){
	f=fopen("dusman.in","r");
	g=fopen("dusman.out","w");
	fscanf(f,"%ld%ld%ld",&n,&x,&m);
	for(i=1;i<=m;i++)
		fscanf(f,"%ld%ld",&a[i],&b[i]);
	back(1);
	fclose(f);
	fclose(g);
	return 0;
}