Pagini recente » Cod sursa (job #1263927) | Cod sursa (job #1502400) | Cod sursa (job #2143133) | Cod sursa (job #2859697) | Cod sursa (job #1050237)
#include <fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int i,y,z,x[1001],ok,n,sol,k,viz[1001],nr,m;
char a[1001][1001];
void verificare(){
int i;
for(i=1;i<=n-1;i++)
if(a[x[i]][x[i+1]]!=0||a[x[i+1]][x[i]]!=0)
break;
if(i==n)
sol++;
if(sol==nr)
ok=1;
}
void back(int k){
int i;
for(i=1;i<=n&&ok==0;i++){
if(viz[i]==0){
x[k]=i;
viz[i]=1;
if(k!=n)
back(k+1);
else{
verificare();
if(ok==1){
for(int j=1;j<=n;j++)
g<<x[j]<<' ';
}
}
viz[i]=0;
}
}
}
int main()
{
f>>n>>nr>>m;
for(i=1;i<=m;i++){
f>>z>>y;
a[z][y]=a[y][z]=1;
}
back(1);
return 0;
}