Cod sursa(job #519084)

Utilizator lily3Moldovan Liliana lily3 Data 3 ianuarie 2011 22:52:46
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
ofstream g("perle.out");

int i,j,n,m,a[10002],l;
void rez2(int);
void rez3(int);
void rez2(int i)
{
	while(a[i]==2&&i<=m)
		i++;
	if(m<=i+3)
		g<<0<<"\n";
	else
	{
		if(a[i]==1&&a[i+2]==3)
			rez3(i+4);
	}
}
void rez3(int i)
{
	if((a[i]==2&&i==m)||(a[i]==1&&a[i+1]==2&&i+2==m))
		g<<1<<"\n";
	else
		if((i==m&&a[i]!=2)||(i+2==m&&((a[i]!=1||a[i+1]!=2))))
			g<<0<<"\n";
				else
					if(a[i]==3)
						rez2(i);
}
int main()
{
	ifstream f("perle.in");
	f>>n;
	while(n--)
	{
		f>>m;
		for(i=1;i<=m;i++)
			f>>a[i];
		if(m==1||(a[1]==1&&a[2]==2&&m==3))
			g<<1<<"\n";
		else
		if(m==2||(m==3&&(a[1]!=1||a[2]!=2)))
			g<<0<<"\n";
		else
		{
			if(a[1]==2||a[1]==1)
				rez2(1);
			else
				if(a[1]==3)
					rez3(1);
		}
	}
	return 0;
}