Pagini recente » Cod sursa (job #1610937) | Cod sursa (job #1914396) | Cod sursa (job #1498997) | Cod sursa (job #422274) | Cod sursa (job #534164)
Cod sursa(job #534164)
#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];
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,nr;
for(i=1;i<=n;i++)
if(viz[i]==0)
{ viz[i]=1;
b[z]=i;
if(cont(k))
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;
}