Cod sursa(job #30979)

Utilizator therain3rVlad Dumitrescu therain3r Data 15 martie 2007 13:09:55
Problema Pavare2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream.h>
int v[100],i,n,a,b,k,s,p,l,c[100],j,m;
int bun(int i)
{
int t;
t=1;
if(v[i]==1)
	{if(p>a)
		t=0;
	 }
else
	if(v[i]==2)
		{if(s>b)
			t=0;
		else
		
				p=0;}
return t;
}
void main()
{
ifstream f("pavare2.in");
ofstream g("pavare2.out");
f>>n>>a>>b;
f>>k;
i=1;
do{
	do	{if(v[n]==2&&m==0)
		 {for(j=i;j>=1;j--)
		       {if(v[j]==2)
				s--;
			else
				if(v[j]==1)
					j=0;}
				m++; }

		v[i]++;
		if(i>n||v[i]>2)
			{v[i]=0;
			i--;}
		else
			{if(v[i]==1)
				p++;
			 else
				if(v[i]==2)
					s++;
			if(bun(i))
				i++;
				}
		}
	while(i>1&&i<=n);
		{if(i-1==n)
		   {l++;
		   m=0;}
		if(l==k)
			for(i=1;i<=n;i++)
				c[i]=v[i];
		 }}
while(i>=1&&v[1]!=0);
g<<l<<endl;
for(i=1;i<=n;i++)
	g<<c[i]-1;
        }