Pagini recente » Cod sursa (job #3040978) | Cod sursa (job #3273546) | Cod sursa (job #2084353) | Cod sursa (job #2024276) | Cod sursa (job #2478545)
#include <bits/stdc++.h>
using namespace std;
vector <int> en[1001];
int uz[1001],curr;
int arr[1001];
bool check_en(int x, int y) {
for (int it : en[x]) {
if (it == y) {
return false;
}
}
return true;
}
void gen_perm(int nr, int n, int k) {
//cout << nr << endl;
if (nr == n + 1) {
//cout << curr << " ";
if (curr == k) {
for ( int i = 1; i <= n; i++) {
cout << arr[i] << " ";
}
cout << '\n';
}
return;
}
for (int i = 1 ; i <= n; i++) {
if ( uz[i] == 0 && check_en( arr[nr - 1], i) ) {
uz[i] = 1;
arr[nr] = i;
nr++;
if (nr == n + 1) curr ++;
gen_perm(nr, n, k);
nr--;
uz[i] = 0;
}
}
}
int main()
{
int n, m, k;
cin >> n >> k >> m;
//cout << n << m << k;
for (int i = 0; i < m; i++) {
// cout << i << endl;
int x, y;
cin >> x >> y;
//cout << x << y;
en[x].push_back(y);
en[y].push_back(x);
}
arr[0] = 0;
en[0].push_back(0);
gen_perm(1, n, k);
return 0;
}