Pagini recente » Cod sursa (job #2426459) | Cod sursa (job #2497695) | Cod sursa (job #15598) | Cod sursa (job #2788106) | Cod sursa (job #863833)
Cod sursa(job #863833)
#include <stdio.h>
#define NMax 1010
const char IN[]="dusman.in",OUT[]="dusman.out";
int N,K,M;
int v[NMax];
bool D[NMax][NMax], b[NMax];
bool back(int x)
{
int i;
if (x==N+1){
--K;
return K==0;
}
for (i=1;i<=N;++i) if (!b[i] && !D[v[x-1]][i]){
v[x]=i;
b[i]=true;
if (back(x+1)) return true;
v[x]=0;
b[i]=false;
}
return false;
}
int main()
{
int i,x,y;
freopen(IN,"r",stdin);
scanf("%d%d%d",&N,&K,&M);
for (i=1;i<=M;++i) scanf("%d%d",&x,&y),D[x][y]=D[y][x]=1;
fclose(stdin);
back(1);
freopen(OUT,"w",stdout);
for (i=1;i<=N;++i) printf("%d ",v[i]);
printf("\n");
fclose(stdout);
return 0;
}