Pagini recente » Cod sursa (job #1802821) | Cod sursa (job #855240) | Cod sursa (job #1534008) | Cod sursa (job #1801456) | Cod sursa (job #276026)
Cod sursa(job #276026)
#include <stdio.h>
#define DIM 1002
int s[DIM],viz[DIM];
int d[DIM][DIM];
int n,m,nr,k,x,y,i,w;
FILE *f = fopen("dusman.in", "r");
FILE *g = fopen("dusman.out", "w");
int cont(int k) {
if (k==1)
return 1;
if (d[s[k]][s[k-1]])
return 0;
if (viz[s[k]]==2)
return 0;
// for (int i=1; i<k; i++)
// if (s[i]==s[k])
// return 0;
return 1;
}
void sol() {
for (int i=1; i<=n; i++)
fprintf(g,"%d ",s[i]);
}
int main(){
fscanf(f,"%d %d %d",&n,&nr,&m);
for (i=1; i<=m; i++) {
fscanf(f,"%d %d",&x,&y);
d[x][y] = d[y][x] = 1;
}
k = 1;
s[k] = 0;
while (k > 0)
if (s[k] < n) {
viz[s[k]]--;//
s[k]++;
viz[s[k]]++;//
if (cont(k))
if (k==n) {
w++;
if (w==nr) {
sol();
break;
}
}
else {
k++;
s[k] = 0;
}
}
else {
viz[s[k]]--;//
k--;
}
fclose(f);
fclose(g);
return 0;
}