Pagini recente » Cod sursa (job #2047595) | Cod sursa (job #82039) | Cod sursa (job #1576929) | Cod sursa (job #1794216) | Cod sursa (job #534169)
Cod sursa(job #534169)
#include <stdio.h>
FILE *f=fopen("dusman.in","r");
FILE *g=fopen("dusman.out","w");
int n,m,k,a[1001][1001],i,j,x,y,viz[1001],b[1001],nr;
void tipar() {
int i;
for(i=1;i<=n;i++)
fprintf(g,"%d ",b[i]);
}
int cont(int k) {
if(k>1&&a[b[k]][b[k-1]]==1)
return 0;
return 1;
}
void back(int z) {
int i;
for(i=1;i<=n;i++){
if(viz[i]==0)
{ viz[i]=1;
b[z]=i;
if(cont(z))
if(z==n)
{
nr++;
if(k==nr) {
tipar();
return;
}
}
else
back(z+1);
viz[i]=0;
b[z]=0;
}
}
if(k==nr)
return;
}
int main() {
fscanf(f,"%d%d%d",&n,&m,&k);
for(i=1;i<=m;i++) {
fscanf(f,"%d%d",&x,&y);
a[x][y]=1;
a[y][x]=1;
}
back(1);
return 0;
}