Pagini recente » Cod sursa (job #2399734) | Cod sursa (job #2391305) | Cod sursa (job #1865926) | Cod sursa (job #620556) | Cod sursa (job #2136092)
#include<fstream>
#include<set>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int N, K, M, S[1005], f[1005];
set<int> R[1005];
void back( int k ){
if( k == N + 1 ){
K--;
if( K == 0 )
for( int i = 1; i <= N; i++ )
fout << S[i] << " ";
}else{
for( int i = 1; i <= N && K != 0; i++ ){
if( f[i] == 1 )
continue;
if( R[ S[k - 1] ].find( i ) != R[ S[k - 1] ].end() )
continue;
f[i] = 1;
S[k] = i;
back( k + 1 );
f[i] = 0;
}
}
return;
}
int main(){
fin >> N >> K >> M;
for( int i = 1; i <= M; i++ ){
int a, b; fin >> a >> b;
R[a].insert( b );
R[b].insert( a );
}
back( 1 );
return 0;
}