Pagini recente » Cod sursa (job #1850685) | Cod sursa (job #2425713) | Cod sursa (job #2155381) | Monitorul de evaluare | Cod sursa (job #401355)
Cod sursa(job #401355)
#include<stdio.h>
int K,v[10000],N;
int c(int k);
int b(int k);
int b(int k)
{
if(v[k]==2)
return b(k+1);
if(v[k]==1&&v[k+2]==3)
return c(k+4);
return c(k+1);
}
int c(int k)
{
if(v[k]==2 && k == K)
return 1;
if(v[k]==2)
return c(k+1);
if(v[k]==3)
return b(k+1);
if(v[k]==1&&v[k+1]==2&&k+2==K)
return 1;
if(v[k]==1 && v[k+1]==2) return c(k+3);
return 0;
}
int solve()
{
if(K==1)
return 1;
if(K==2)
return 0;
if(v[1]==3)
return c(1);
return b(1);
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i)
{
int ok;
scanf("%d",&K);
for(int i=1;i<=K;++i)
scanf("%d",&v[i]);
ok=solve();
printf("%d\n",ok);
}
}