Pagini recente » Borderou de evaluare (job #1657961) | Monitorul de evaluare | Cod sursa (job #2415792) | Cod sursa (job #2867878) | Cod sursa (job #749968)
Cod sursa(job #749968)
#include<cstdio>
const int MAX_N = 11 ;
int v[MAX_N] ;
int len ;
int n ;
int ok_B(int poz) ;
int ok_C(int poz) ;
int ok_B(int poz)
{
if(poz >= len+1)
return -1 ;
if(v[poz] == 2)
return ok_B(poz+1) ;
if(v[poz]==1 && v[poz+2]==3)
return ok_C(poz+4) ;
return -1 ;
}
int ok_C(int poz)
{
if(v[poz]==2)
return poz+1 ;
if(v[poz]==1 && v[poz+1]==2)
return poz+3 ;
if(v[poz]==3)
return ok_C(ok_B(poz+1)) ;
return -1 ;
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&n);
++n ;
while(--n)
{
scanf("%d",&len);
for(int i=1;i<=len;++i)
scanf("%d",&v[i]);
int sol = ok_B(1) ;
if(sol != len+1)
sol = ok_C(1) ;
if(len==1 || sol==len+1)
printf("1\n");
else
printf("0\n");
}
return 0;
}