Cod sursa(job #697816)

Utilizator reluuu1Mirica Gabriel Aurelian reluuu1 Data 29 februarie 2012 11:10:54
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int v[10005],n,l,i,s;
int b(int p);int c(int p);
int b(int p)
{
	if(p>=l+1) return -1;
	if(v[p]==2) return b(p+1);
	if(v[p]==1 && v[p+2]==3) return c(p+4);
	return -1;
}
int c(int p)
{
	if(v[p]==2) 
		return p+1;
	if(v[p]==1 && v[p+1]==2) 
		return p+3;
	if(v[p]==3) 
		return c(b(p+1));
	return -1;
}
int main()
{
	fin>>n;
	while(n--)
	{
		fin>>l;
		for(i=1;i<=l;i++)
			fin>>v[i];
		s=b(1);
		if(s!=l+1)
		s=c(1);
		if(l==1 || s==l+1) fout<<"1"<<'\n';
		else fout<<"0"<<'\n';
	}
return 0;
}