Pagini recente » Cod sursa (job #311485) | Cod sursa (job #497993) | Cod sursa (job #709002) | Cod sursa (job #2128307) | Cod sursa (job #1220857)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("dusman.in");
ofstream g ("dusman.out");
const int NMAX = 1000 + 1;
int n, m, k;
int p[NMAX];
int v[NMAX][NMAX];
void citeste() {
f >> n >> k >> m;
int a, b;
for (int i = 1; i <= m; i++)
f >> a >> b,
v[a][b] = v[b][a] = 1;
}
bool ok() {
for (int i = 1; i < n; i++)
if (v[ p[i] ][ p[i + 1] ] == 1) return false;
return true;
}
void scrie () {
for (int i = 1; i <= n; i++) g << p[i] << ' ';
g << '\n';
}
void rezolva() {
for (int i = 1; i <= n; i++) p[i] = i;
int i = 0;
if (ok()) i++;
do {
if (ok()) i++;
} while (next_permutation(p + 1, p + n + 1) && i != k);
scrie();
}
int main() {
citeste();
rezolva();
return 0;
}