Cod sursa(job #975232)
Utilizator | Nathan Wildenberg thewildnath | Data | 19 iulie 2013 14:29:26 |
---|---|---|---|
Problema | Dusman | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.74 kb |
#include<stdio.h>
int n,m,k,s[1002];
char v[1002][1002],f[1002],a;
void rec(int x)
{
if(x==n)
{
++a;
return;
}
for(int i=1;i<=n;++i)
{
if(!v[s[x]][i]&&!f[i])
{
++x;
s[x]=i;
f[i]=1;
rec(x);
if(a==k)
return;
f[i]=0;
--x;
}
}
}
int main()
{
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
int i,x,y;
scanf("%d%d%d",&n,&k,&m);
for(i=1;i<=m;++i)
{
scanf("%d%d",&x,&y);
v[x][y]=1;
v[y][x]=1;
}
rec(0);
for(i=1;i<=n;++i)
printf("%d ",s[i]);
printf("\n");
}