Pagini recente » Cod sursa (job #644639) | Cod sursa (job #1066028) | Cod sursa (job #1383802) | Cod sursa (job #1017397) | Cod sursa (job #856591)
Cod sursa(job #856591)
#include<stdio.h>
long z,n,i,a[10005];
long B(long x);
long C(long x);
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%ld",&z);
while(z)
{
scanf("%ld",&n);
for(i=1;i<=n;++i)
scanf("%ld",&a[i]);
if(n==1||n==B(1)||n==C(1))
printf("1\n");
else
printf("0\n");
--z;
}
return 0;
}
long B(long x)
{
if(n<x)
return 0;
if(a[x]==2)
return B(x+1);
if(a[x]==1&&a[x+2]==3)
return C(x+4);
return 0;
}
long C(long x)
{
if(n<x)
return 0;
if(a[x]==2)
return x;
if(a[x]==1&&a[x+1]==2)
return x+2;
if(a[x]==3)
{
long X=B(x+1);
if(X)
return C(X+1);
}
return 0;
}