Pagini recente » Atasamentele paginii Profil SerbanR98 | Atasamentele paginii Profil Alinao | Cod sursa (job #3366613) | Atasamentele paginii Profil raresbalann | Cod sursa (job #3366610)
///sursa provizorie
#include <fstream>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int n,ciclu,k,m,a,b;
int dusmani[1010][3];
int v[1000];
int verif2(int pas){
for(int i=1;i<pas;i++){
if(v[pas]==v[i]){
return 0;
}
}
return 1;
}
int verif(int pas){
if(pas>1){
for(int i=1;i<=3;i++){
if(v[pas-1]==dusmani[v[pas]][i] ){
return 0;
}
}
return 1;
}else{
return 1;
}
}
void backtrack(int pas){
if(pas==n+1){
ciclu++;
if(ciclu==k){
for(int i=1;i<=n;i++){
fout<<v[i]<<" ";
}
fout<<endl;
}
}else{
for(int i=1;i<=n;i++){
v[pas]=i;
if(verif(pas)==1 && verif2(pas)==1){
backtrack(pas+1);
}
}
}
}
int main()
{
fin>>n>>k>>m;
for(int i=1;i<=m;i++){
fin>>a>>b;
if(dusmani[a][1]==0){
dusmani[a][1]=b;
dusmani[b][1]=a;
}else{
if(dusmani[a][1]!=0 && dusmani[a][2]==0){
dusmani[a][2]=b;
dusmani[b][2]=a;
}else{
if(dusmani[a][2]!=0 && dusmani[a][3]==0){
dusmani[a][3]=b;
dusmani[b][3]=a;
}
}
}
}
backtrack(1);
return 0;
}