Pagini recente » Cod sursa (job #2267019) | Cod sursa (job #934510) | Cod sursa (job #660417) | Cod sursa (job #1474879) | Cod sursa (job #3325482)
#include <stdio.h>
int n, k;
char matrix[1000][1000];
char f[1000];
int secv[1000];
int stop=0;
void steinsgate(int pos) {
int i;
//printf("%d\n", pos);
// for(i=0; i<pos; i++)
// printf("%d ", secv[i]);
// printf("\n");
if(pos==n) {
k--;
if(k==0) {
stop = 1;
}
}
else {
i = 0;
while(i<n && stop==0) {
if(f[i]==0 && (pos==0 || matrix[secv[pos-1]][i]==0)) {
secv[pos] = i;
f[i] = 1;
steinsgate(pos+1);
if(stop==0) {
f[i] = 0;
secv[pos] = 0;
}
}
i++;
}
}
}
int main() {
//FILE *fin = fopen("D:/GitHub_Repos/AlgoArchive/Algo_v2/InfoArena/Dusman/dusman.in", "r");
//FILE *fout = fopen("D:/GitHub_Repos/AlgoArchive/Algo_v2/InfoArena/Dusman/dusman.out", "w");
FILE *fin = fopen("dusman.in", "r");
FILE *fout = fopen("dusman.out", "w");
int m, i, x, y;
fscanf(fin, "%d%d%d", &n, &k, &m);
for(i=0; i<m; i++) {
fscanf(fin, "%d%d", &x, &y);
matrix[x-1][y-1] = 1;
matrix[y-1][x-1] = 1;
}
// for(y=0; y<n; y++) {
// for(x=0; x<n; x++)
// fprintf(fout, "%d ", matrix[y][x]);
// fprintf(fout, "\n");
// }
steinsgate(0);
for(i=0; i<n; i++)
fprintf(fout, "%d ", secv[i]+1);
fprintf(fout, "\n");
fclose(fin);
fclose(fout);
return 0;
}