Cod sursa(job #858881)

Utilizator akumariaPatrascanu Andra-Maria akumaria Data 19 ianuarie 2013 14:49:07
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>


int n;
char a[1010];


int C(int poz);


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

int C(int poz)
{
	if(a[poz]==1&&a[poz+1]==2&&a[poz+2]!=0)
		return 1;
	if(a[poz]==3)
		return (B(poz+1)&&C(poz+2));
	return 0;
}


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