Pagini recente » Cod sursa (job #263450) | TL partea intai | Cod sursa (job #2687779) | Cod sursa (job #1076964) | Cod sursa (job #2912108)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "dusman.in" );
ofstream fout( "dusman.out" );
const int MAXN = 1005;
int n, k, m;
int use[MAXN];
int v[MAXN], q;
int t[MAXN][MAXN];
bool perm( int pos ) {
if ( pos == n + 1 ) {
++q;
if ( q == k ) {
for ( int i = 1; i <= n; ++i ) {
fout << v[i] << " ";
}
return true;
}
return false;
}
for ( int i = 1; i <= n; ++i ) {
if ( !t[i][v[pos - 1]] && !use[i] ) {
use[i] = true;
v[pos] = i;
if ( perm(pos + 1) ) return true;
use[i] = false;
}
}
return false;
}
int main() {
int x, y;
fin >> n >> k >> m;
while ( m-- ) {
fin >> x >> y;
t[x][y] = t[y][x] = true;
}
perm(1);
fin.close();
fout.close();
return 0;
}