Pagini recente » Cod sursa (job #449683) | Cod sursa (job #2525275) | Cod sursa (job #803242) | Utilizatori inregistrati la ONIS 2014, Runda 3 | Cod sursa (job #2474245)
#include <bits/stdc++.h>
using namespace std;
ifstream in("dusman.in");
ofstream out("dusman.out");
int n, m, k, st[1010], sol[1010], x, y;
bool bad[1010][1010];
int viz[1010];
void back(int lvl) {
if (k == 0)
return;
if (lvl > n) {
k--;
if (k == 0)
for (int i = 1; i <= n; i++)
sol[i] = st[i];
return;
}
for (int i = 1; i <= n; i++) {
if (!viz[i] && (lvl == 1 || (lvl > 1 && !bad[i][st[lvl - 1]]))) {
viz[i] = 1;
st[lvl] = i;
back(lvl + 1);
viz[i] = 0;
}
}
}
int main() {
in >> n >> k >> m;
for (int i = 1; i <= m; i++) {
in >> x >> y;
bad[x][y] = bad[y][x] = 1;
}
back(1);
for (int i = 1; i <= n; i++)
out << sol[i] << ' ';
return 0;
}