Pagini recente » Cod sursa (job #938458) | Cod sursa (job #2925713) | Cod sursa (job #2664357) | Cod sursa (job #3282388) | Cod sursa (job #116347)
Cod sursa(job #116347)
#include <stdio.h>
int b[10000],c[10000],a[1002][1002],n,k,nr,m;
FILE *in,*out;
void back(int x)
{
int i;
if (nr<k)
{
if (x==n+1)
{
nr++;
if (nr==k)
{
for (i=1;i<=n;i++)
fprintf(out,"%d ",c[i]);
fprintf(out,"\n");
fclose(in);
fclose(out);
}
}
else
{
for (i=1;i<=n;i++)
if (!b[i]&&!a[i][c[x-1]])
{
b[i]=1;
c[x]=i;
back(x+1);
b[i]=0;
}
}
}
}
int main()
{
int i,x,y;
in=fopen("dusman.in","r");
out=fopen("dusman.out","w");
fscanf(in,"%d%d%d",&n,&k,&m);
for (i=1;i<=m;i++)
{
fscanf(in,"%d%d",&x,&y);
a[x][y]=1;
a[y][x]=1;
}
nr=0;
back(1);
fclose(in);
return 0;
}