Pagini recente » Cod sursa (job #3030007) | Cod sursa (job #1289474) | Cod sursa (job #1084420) | Cod sursa (job #999840) | Cod sursa (job #2478549)
#include <bits/stdc++.h>
using namespace std;
vector <int> en[1001];
int uz[1001],curr;
int arr[1001];
ifstream f("dusman.in");
ofstream g("dusmman.out");
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++) {
g << arr[i] << " ";
}
g << '\n';
exit(EXIT_SUCCESS);
}
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;
f >> n >> k >> m;
//cout << n << m << k;
for (int i = 0; i < m; i++) {
// cout << i << endl;
int x, y;
f >> 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;
}