Pagini recente » Cod sursa (job #686854) | Cod sursa (job #45011) | Cod sursa (job #825127) | Cod sursa (job #2586686) | Cod sursa (job #797903)
Cod sursa(job #797903)
#include<cstdio>
#define DMAX 10001
using namespace std;
char v[DMAX];short n;
short c(int l);
short b(int l)
{
if(l>n)
return -DMAX;
if(v[l]==2)
return 1+b(l+1);
if(v[l]==1&&v[l+2]==3)
return 4+c(l+4);
return -DMAX;
}
short c(int l)
{
if(l>n)
return 0;
if(v[l]==2)
return 1;
if(v[l]==3)
{
int k;
k=b(l+1);
if(k>0)
return k+1+c(l+k+1);
}
if(v[l]==1&&v[l+1]==2)
return 3;
return 0;
}
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\n");
else
printf("%d\n",c(1)==n||b(1)==n);
}
}