Pagini recente » Cod sursa (job #418500) | Cod sursa (job #3272656) | Cod sursa (job #518060) | Cod sursa (job #2603441) | Cod sursa (job #2304888)
#include <fstream>
using namespace std;
int n, kp, i, m, x, y, ok=0, cnt=0;
int a[1001][1001], v[1001], viz[1001];
ifstream fin ("dusman.in");
ofstream fout ("dusman.out");
void tipar (int k)
{
int i=0;
for (i=1;i<=k;i++) {
fout<<v[i]<<" ";
}
fout<<"\n";
}
bool verif(int k)
{
if (viz[v[k]]==1)
return false;
if (a[v[k]][v[k-1]]==1)
return false;
if (k<=n)
return true;
return false;
}
void back (int k)
{
if (ok==1)
return;
int i=0;
for (i=1;i<=n;i++) {
v[k]=i;
if (verif(k)) {
viz[v[k]]=1;
if (k==n) {
cnt++;
if (cnt==kp) {
tipar(k);
ok=1;
}
}
back(k+1);
viz[v[k]]=0;
}
}
}
int main () {
fin>>n>>kp>>m;
for (i=1;i<=m;i++) {
fin>>x>>y;
a[x][y]=1;
a[y][x]=1;
}
back(1);
return 0;
}