Pagini recente » Cod sursa (job #601789) | Cod sursa (job #2864681) | Cod sursa (job #3273734) | Cod sursa (job #2553276) | Cod sursa (job #3144721)
#include <fstream>
using namespace std;
ifstream cin("dusman.in");
ofstream cout("dusman.out");
bool not_allowed[1001][1001];
bool used[1001];
int v[1001];
int asezari = 0;
int nr_dusmani, nr_asezare, nr_relatii;
void backtracking(int k){
if (k == nr_dusmani + 1){
asezari++;
if (asezari == nr_asezare){
for (int i = 1; i <= nr_dusmani; i++)
cout << v[i] << " ";
}
return;
}
for (int i = 1; i <= nr_dusmani; i++){
if (!used[i] && not_allowed[v[k-1]][i] == false){
used[i] = true;
v[k] = i;
backtracking(k+1);
used[i] = false;
}
}
}
int main(){
cin >> nr_dusmani >> nr_asezare >> nr_relatii;
for (int i = 1; i <= nr_relatii; i++){
int nr1, nr2;
cin >> nr1 >> nr2;
not_allowed[nr1][nr2] = not_allowed[nr2][nr1] = true;
}
backtracking(1);
return 0;
}