Pagini recente » Cod sursa (job #1217148) | Cod sursa (job #498537) | Cod sursa (job #2317457) | Cod sursa (job #3136578) | Cod sursa (job #1308238)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dusman.in",ifstream::in);
ofstream g("dusman.out",ofstream::out);
int sol[1002],n,z,a[1002][1002],nr,vr,m;
int valid(int k)
{
for(int i=1;i<k;i++)
if(sol[i]==sol[k])
return 0;
if(k>1)
{
if(a[sol[k]][sol[k-1]]!=0)
return 0;
else
return 1;
}
else
return 1;
}
int back(int k)
{
if(k==n+1)
{
nr++;
if(nr==z)
{
vr=1;
for(int i=1;i<k;i++)
g<<sol[i];
return 1;
}
}
else
{
sol[k]=0;
while(sol[k]<n)
{
sol[k]++;
if(valid(k)&&vr==0)
back(k+1);
}
}
}
int main()
{f>>n>>z>>m;
for(int i=1;i<=m;i++)
{
int q=0,w=0;
f>>q>>w;
a[q][w]=a[w][q]=1;
}
back(1);
}