Pagini recente » Cod sursa (job #354950) | Cod sursa (job #2138765) | Cod sursa (job #655882) | Cod sursa (job #1019483) | Cod sursa (job #524187)
Cod sursa(job #524187)
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int m,n,c,x,ok,s[1001],a,b,v[1001];
char d[1001][1001];
void afis()
{
int i;
for(i=1;i<=n;i++) g<<s[i]<<' ';
g<<'\n';
}
int valid(int y)
{
if(v[s[y]]==1) return 0;
if(d[s[y]][s[y-1]]=='1') return 0;
return 1;
}
void back(int k)
{
int i;
for(i=1;i<=n&&!ok;i++)
{s[k]=i;
if(valid(k))
{v[i]=1;
if(k==n)
{c++;
if(c==x)
{afis();
ok=1;
}
}
else back(k+1);
v[i]=0;
}
}
}
int main()
{
int i;
f>>n>>x>>m;
for(i=1;i<=m;i++)
{f>>a>>b;
d[a][b]=d[b][a]='1';}
for(i=1;i<=n;i++) d[i][i]='1';
back(1);
f.close(); g.close();
return 0;
}