Pagini recente » Cod sursa (job #326739) | Cod sursa (job #731911) | Cod sursa (job #1642639) | Cod sursa (job #423620) | Cod sursa (job #878182)
Cod sursa(job #878182)
#include <fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,m,k,x[1001],a[1001][1001],l,cl,viz[1001],nr,b,c;
int cont (int k){
if(k>1&&a[x[k]][x[k-1]]==1)
return 0;
if(k==n&&a[x[k]][x[1]]==1)
return 0;
return 1;
}
void tipar(int k){
for(int i=1;i<=k;i++)
g<<x[i]<<" ";
}
void back(){
int k=1;
x[k]=0;
while(k>0)
if(x[k]<n){
x[k]++;
if(viz[x[k]]==0)
if(cont(k)){
viz[x[k]]=1;
if(k==n){
nr++;
if(nr==l){
tipar(k);
return ;}
viz[x[k]]=0;
}
else{
k++;
x[k]=0;
}
}
}
else{
k--;
viz[x[k]]=0;
}
}
int main()
{
f>>n>>l>>m;
for(int i=1;i<=m;i++){
f>>b>>c;
a[b][c]=1;
a[c][b]=1;
}
back();
}