Pagini recente » Cod sursa (job #2368665) | Cod sursa (job #51832) | Cod sursa (job #3226420) | Cod sursa (job #564874) | Cod sursa (job #340116)
Cod sursa(job #340116)
#include <stdio.h>
FILE *f,*g;
int ok=0;
long a[1002][1002],sol[1002],use[1002],n,x,m,i,j,z,nr,y;
void afis(){
long i;
for(i=1;i<=n;i++)
fprintf(g,"%ld ",sol[i]);
fprintf(g,"\n");
return;
}
void back(long k){
long i;
if(k>n){
nr++;
if (nr==x){
afis();
ok=1;
return;
}
}
else{
if (ok==1) return;
for(i=1;i<=n;i++)
if(!use[i]&&!a[sol[k-1]][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<=n;i++) use[i]=0;
nr=0;
sol[0]=0;
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
a[i][j]=0;
for(i=1;i<=m;i++){
fscanf(f,"%ld%ld",&z,&y);
a[z][y]=1;
a[y][z]=1;
}
back(1);
fclose(f);
fclose(g);
return 0;
}