Pagini recente » Cod sursa (job #393284) | Cod sursa (job #1618457) | Cod sursa (job #168254) | Cod sursa (job #858430) | Cod sursa (job #149992)
Cod sursa(job #149992)
#include<fstream.h>
int a[1003][5],n,m,s,k,l,x[1003],v[1004];
ifstream f("dusman.in");
ofstream g("dusman.out");
void afisare()
{
for( int i=1;i<=n;i++)
g<<x[i]<<" ";
g<<'\n';
}
int corect(int z)
{
int i,ok=0;
if(v[x[k]]!=0)
{
ok=1;
}
if(ok==0)
{
for(i=1;i<=a[x[z]][0];i++)
if(a[x[z]][i]==x[z-1])
return 0;
return 1;
}
else
return 0;
}
int main()
{
int nr=0,i;
f>>n>>s>>m;
for(i=1;i<=m;i++)
{
f>>k>>l;
a[k][a[k][0]+1]=l;
a[k][0]++;
a[l][a[l][0]+1]=k;
a[l][0]++;
}
k=1; x[0]=-1;
x[k]=0;
while(k>0)
{
if(x[k]<n)
{
x[k]++;
if(corect(k)==1)
{
if(k==n&&nr<s)
{
nr++;
if(k==n&&nr==s)
{
afisare();
k=0;
}
}
else
{
v[x[k]]=1;
k++;
x[k]=0;
}
}
}
else
{
k--;
v[x[k]]=0;
}
}
f.close();
g.close();
return 0;
}