Pagini recente » Cod sursa (job #1813909) | Cod sursa (job #2477346) | Cod sursa (job #1915199) | Cod sursa (job #2680912) | Cod sursa (job #2479590)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n, m, k;
int A, B;
bool dusmani[1020][1020] = {false}, pas[1050] = {false};
int sol[1050] = {0};
int ok , verif;
void backTracking(int p, int n)
{
if(ok == 1)
return;
if(p - 1 != n )
{
for(int i = 1; i <= n; i++) {
int x = sol[p - 1];
if (dusmani[x][i] == false && pas[i] == false) {
sol[p] = i;
pas[i] = true;
verif = 1;
backTracking(p + 1, n);
pas[i] = false;
}
}
}
else
{
k--;
if(k == 0)
{
for(int i = 1; i <= n; i++)
cout << sol[i] << " ";
ok = 1;
return;
}
}
}
int main()
{
cin >> n >> k >> m;
for(int i = 1; i <= m; i++)
{
cin >> A >> B;
dusmani[A][B] = dusmani[B][A] = true;
}
/*
*for(int i = 1; i <= m; i++)
* {for(int j = 1; j <= m; j++)
* cout << dusmani[i][j] << " ";
* cout << endl;}
*/
backTracking(1, n);
}