Cod sursa(job #789570)

Utilizator monica11Szekely Monica monica11 Data 18 septembrie 2012 18:08:19
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
int a[10001],n,lg;
ifstream f("perle.in");
ofstream g("perle.out");
int C(int x);
int B(int x)
{
	while(x<=lg&&a[x]==2)
		x++;
		if(a[x]==1&&a[x+2]==3)
			return C(x+4);
	else
		return 0;
	
}
int C(int x)
{
	if(a[x]==2)
		return x;
	else
		if(a[x]==1&&a[x+1]==2)
			return x+2;
		else
			if(a[x]==3)
			{
				int b=B(x+1);
				if(b!=0)
				 return C(b+1);
				else
					return 0;
			}
			else
				return 0;
}
int verif()
{
	if(lg==1)
		return 1;
	else
		if(B(1)==lg||C(1)==lg)
			return 1;
	else
		return 0;
}
int main()
{
	int i,j;
	f>>n;
	for(j=1;j<=n;j++)
	{
		f>>lg;
		for(i=1;i<=lg;i++)
			f>>a[i];
		g<<verif()<<"\n";
	}
}