Pagini recente » Cod sursa (job #939606) | Cod sursa (job #991861) | Cod sursa (job #87389) | Cod sursa (job #924647) | Cod sursa (job #145408)
Cod sursa(job #145408)
#include<stdio.h>
int n, k, m, i, xx, y, nr, p;
int x[1001], a[1001][4];
void citire(){
freopen("dusman.in","r",stdin);
scanf("%d %d %d\n", &n, &k, &m);
for(i=1; i<=m; i++){
scanf("%d %d\n", &xx, &y);
a[xx][0]++;
a[xx][a[xx][0]]=y;
a[y][0]++;
a[y][a[y][0]]=xx;
}
fclose(stdin);
}
int cont(int k){
for(int i=1; i<k; i++)
if(x[i]==x[k]) return 0;
if(k>1)
for(i=1; i<=a[k][0]; i++){
if(a[x[k-1]][i]==x[k]) return 0;
}
return 1;
}
void bkt(int p){
if(p==n+1 && nr<k)nr++;
else if(nr<k)
for(int i=1; i<=n && nr<k; i++){
x[p]=i;
if(cont(p)) bkt(p+1);
}
}
int main(){
citire();
bkt(1);
freopen("dusman.out","w",stdout);
for(i=1; i<=n; i++) printf("%d ",x[i]);
printf("\n");
fclose(stdout);
return 0;
}