Pagini recente » Cod sursa (job #1867315) | Cod sursa (job #2429434) | Cod sursa (job #1406596) | Cod sursa (job #2105837) | Cod sursa (job #237595)
Cod sursa(job #237595)
#include<stdio.h>
#define NMAX 1000
int n,m,p,st[NMAX+1],u[NMAX+1],nr;
char a[NMAX+1][NMAX+1];
void bkt(){
int k,up;
k=1;st[k]=0;
while(k){
up=0;
while(!up&&st[k]<n){
st[k]++;
if(!u[st[k]]&&!a[st[k]][st[k-1]]) u[st[k]]=1,up=1;
}
if(up)
if(k==n) {
nr++;
if(nr==p) break;
u[st[k]]=0;
}
else k++,st[k]=0;
else k--,u[st[k]]=0;
}
}
int main(){
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
int i,x,y;
scanf("%d%d%d",&n,&p,&m);
for(i=0;i<m;++i){
scanf("%d%d",&x,&y);
a[x][y]=a[y][x]=1;
}
bkt();
for(i=1;i<=n;++i) printf("%d ",st[i]);
return 0;
}