Cod sursa(job #151460)

Utilizator Andrei_ScorpioAndreiana Andrei Daniel Andrei_Scorpio Data 8 martie 2008 11:08:18
Problema Dusman Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int i,n,m,nr,sol,k,x1,x2,a[1000][4],x[1004],vec[1004];
int corect()
{
for(int j=1;j<=a[x[k]][0];j++)
	{
	if(a[x[k]][j]==x[k-1])
		return 0;
	}
return 1;
}
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]++;
		if(corect()==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;
}