Pagini recente » Cod sursa (job #2013775) | Diferente pentru teorema-chineza-a-resturilor intre reviziile 14 si 13 | Cod sursa (job #791853) | Diferente pentru teorema-chineza-a-resturilor intre reviziile 26 si 25 | Cod sursa (job #151470)
Cod sursa(job #151470)
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int i,n,m,nr,sol,k,x1,x2,a[1000][4],b,x[1004],vec[1004];
int main()
{
f>>n>>nr>>m;
for(i=0;i<m;i++)
{
f>>x1>>x2;
a[x1][0]++;
a[x1][a[x1][0]]=x2;
a[x2][0]++;
a[x2][a[x2][0]]=x1;
}
k=1;
x[k]=0;
while(k>0)
{
if(x[k]<n)
{
x[k]++;
b=1;
for(int j=1;j<=a[x[k]][0];j++)
{
if(a[x[k]][j]==x[k-1])
{
b=0;
break;
}
}
if(b==1 && vec[x[k]]==0)
{
if(k==n)
{
sol++;
if(sol==nr)
{
for(i=1;i<=n;i++)
g<<x[i]<<' ';
break;
}
}
else
{
vec[x[k]]=1;
k++;
x[k]=0;
}
}
}
else
{
k--;
vec[x[k]]=0;
}
}
g.close();
return 0;
}