Pagini recente » Cod sursa (job #2617984) | Cod sursa (job #2386516) | Cod sursa (job #2442709) | Cod sursa (job #2093158) | Cod sursa (job #340009)
Cod sursa(job #340009)
#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;
}