Pagini recente » Cod sursa (job #915386) | Cod sursa (job #586649) | Cod sursa (job #1725793) | Cod sursa (job #670322) | Cod sursa (job #180362)
Cod sursa(job #180362)
#include <stdio.h>
FILE *f,*g;
int n,m,k,v[1001][6],cont,x[1001],uz[1001];
void citire(){
f=fopen("dusman.in","r");
fscanf(f,"%d %d %d ",&n,&k,&m);
int x,y,i;
for(i=1;i<=m;i++) {
fscanf(f,"%d %d",&x,&y);
v[x][++v[x][0]]=y;
v[y][++v[y][0]]=x;
}
// fprintf(g,"%d %\n",m);
// // for(i=1;i<=n;i++) {
// fprintf(g,"%d %d %d %d\n",m,v[i][1],v[i][2],v[i][3]);
// }
fclose(f);
}
void afisare(){
int i;
for(i=1;i<=n;i++) fprintf(g,"%d ",x[i]);
fprintf(g,"\n",x[i]);
}
int ok;
void back(int e){
if(ok)return;
if(e==n+1){cont++;if(cont==k){afisare();ok=1;}}
else{
int j,q;
for(j=1;j<=n;j++){q=x[e-1];
if(v[q][1]!=j &&v[q][2]!=j&&v[q][3]!=j&&!uz[j]){
uz[j]=1;
x[e]=j;
back(e+1);
uz[j]=0;
}
}
}
}
int main(){
g=fopen("dusman.out","w");
citire();
// fprintf(g,"barab");
back(1);
fclose(g);
return 0;
}