Pagini recente » Cod sursa (job #34864) | Cod sursa (job #1348034) | Cod sursa (job #83150) | Cod sursa (job #2367097) | Cod sursa (job #117828)
Cod sursa(job #117828)
#include <stdio.h>
#include <stdlib.h>
int mat[1001][4];
int fol[1001];
int st[1001];
int nr=0,n,k1,m;
void readdata() {
int i,a,b;
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
scanf("%d %d %d", &n,&k1,&m);
for(i=1; i<=m; i++ ) {
scanf("%d %d",&a,&b);
mat[a][++mat[a][0]]=b;
mat[b][++mat[b][0]]=a;
}
}
void afis() {
int i;
for(i =1 ; i<= n ; i++ )
printf("%d ",st[i]);
}
void back(int k ) {
int i;
if(k==n+1) { nr++; if( nr == k1 ) { afis(); exit(0); } }
else for(i=1; i<=n ;i++ )
if(mat[st[k-1]][1]!=i && mat[st[k-1]][2]!=i && mat[st[k-1]][3]!=i && !fol[i]) {
st[k]= i;
fol[i] =1;
back(k+1);
fol[i]=0;
}
}
int main() {
readdata();
back(1);
return 0;
}