Cod sursa(job #797770)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 14 octombrie 2012 20:14:14
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
using namespace std;
int v[11],n;
int c(int l);
int b(int l)
{
	if(v[l]==2)
		return 1+b(l+1);
	if(v[l]==1&&v[l+2]==3)
		return 4+c(l+4);
	return -1;
}
int c(int l)
{
	int k;
	if(v[l]==2)
		return 1;
	if(v[l]==3)
	{
		k=b(l+1);
		if(k>0)
			return k+1+c(l+k);
	}
	if(v[l]==1&&v[l+1]==2)
		return 3;
}
int main()
{
	freopen("perle.in","r",stdin);freopen("perle.out","w",stdout);
	int i,t;
	for(scanf("%d",&t);t--;)
	{
		scanf("%d",&n);
		for(i=1;i<=n;i++)
			scanf("%d",&v[i]);
		if(n==1)
			printf("1");
		else
			printf("%d\n",c(1)==n||(b(1)==n));
	}
}