Cod sursa(job #975240)
Utilizator | Data | 19 iulie 2013 14:57:34 | |
---|---|---|---|
Problema | Dusman | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.75 kb |
#include<stdio.h>
int n,m,k,s[1002],a;
char v[1002][1002],f[1002];
void perm(int x)
{
int i;
if(x==n)
{
++a;
return;
}
for(i=1;i<=n;++i)
{
if(!v[s[x]][i]&&!f[i])
{
++x;
s[x]=i;
f[i]=1;
perm(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;
}
perm(0);
for(i=1;i<=n;++i)
printf("%d ",s[i]);
printf("\n");
}