Pagini recente » Cod sursa (job #2143480) | Cod sursa (job #1842215) | Cod sursa (job #2021488) | Cod sursa (job #3291492) | Cod sursa (job #3325141)
#include <fstream>
using namespace std;
ifstream cin("dusman.in");
ofstream cout("dusman.out");
int x[1001],n,F[1001],K,M,nr=0,a[1001][1001]={0};
void afis(int k)
{
for(int i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<"\n";
}
bool valid(int k)
{
if(k>1 && a[x[k-1]][x[k]]) return 0;
return 1;
}
bool solutie(int k)
{
return k==n;
}
void back(int k)
{
if(nr==K) return;
for(int i=1;i<=n;i++)
if(!F[i])
{
x[k]=i;
F[i]=1;
if(valid(k))
{
if(solutie(k))
{
nr++;
if (nr==K)
{
afis(k);
F[i]=0;
return;
}
}
else {
back(k+1);
if(nr==K)
{
F[i]=0;
return;
}
}
}
F[i]=0;
}
}
int main()
{
cin>>n>>K>>M;
for(int i=1;i<=M;i++)
{
int x,y;
cin>>x>>y;
a[x][y]=a[y][x]=1;
}
back(1);
return 0;
}