Cod sursa(job #973790)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 15 iulie 2013 15:38:34
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[10005],n,i,j,k;

int B(int x);
int C(int x);

int B(int x)
{
	if (v[x]==2) return B(x+1);
	if (v[x]==1 && v[x+2]==3) return C(x+4);
	return 0;
}

int C(int x)
{
	if (v[x]==2) return x+1;
	if (v[x]==3) return C(B(x+1));
	if (v[x]==1 && v[x+1]==2) return x+3;
	return 0;
}

int main()
{
	freopen("perle.in","r",stdin);
	freopen("perle.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d",&k);
		for (j=1;j<=k;j++)
			scanf("%d",&v[j]);
		if (k==1 || B(1)==k+1 || C(1)==k+1)
			printf("1\n");else
				printf("0\n");
	}
	return 0;
}