Pagini recente » Cod sursa (job #2240737) | Cod sursa (job #1203435) | Cod sursa (job #2066003) | Cod sursa (job #188911) | Cod sursa (job #2125289)
#include <fstream>
using namespace std;
ifstream fin ("dusman.in");
ofstream fout ("dusman.out");
pair <int, int> v[3005];
int n, x[1005], kk, m;
int cont(int k){
for(int i = 1; i < k; i++){
if(x[k] == x[i]){
return 0;
}
}
return 1;
}
void f(int k){
if(k > n){
int ok = 1;
for(int i = 1; i <= m; i++){
for(int j = 1; j <= n; j++){
if(x[j] == v[i].first){
if(x[j - 1] == v[i].second || x[j + 1] == v[i].second){
ok = 0;
}
break;
}
}
}
if(ok == 1){
kk--;
}
if(ok == 1 && kk == 0){
for(int i = 1; i <= n; i++){
fout<<x[i]<<" ";
}
fout<<"\n";
}
}
else{
for(int i = 1; i <= n; i++){
x[k] = i;
if(cont(k)){
f(k + 1);
}
}
}
}
int main()
{
fin>>n>>kk>>m;
for(int i = 1; i <= m; i++){
fin>>v[i].first>>v[i].second;
}
f(1);
return 0;
}