Pagini recente » Cod sursa (job #28920) | Cod sursa (job #280182) | Cod sursa (job #1449874) | Cod sursa (job #12678) | Cod sursa (job #189627)
Cod sursa(job #189627)
# include <stdio.h>
int L[10002],N,i,k,j,rez;
int perlaC(int i);
int perlaB(int i)
{
if (L[i]==2) return perlaB(i+1);
if (L[i]==1 && L[i+2]==3) return perlaC(i+4);
return perlaC(i+1);
}
int perlaC(int i)
{
if (L[i]==2){
if (i==k-1) return 1;
return perlaC(i+1);
}
if (L[i]==1 && L[i+1]==2) {
if (i+3==k) return 1;
return perlaC(i+3);
}
if (L[i]==3) return perlaB(i+1);
return 0;
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&N);
for (i=1;i<=N;i++){
scanf("%d",&k);
for (j=0;j<k;j++)
scanf("%d",&L[j]);
if (k==1) printf("1\n");
else if (k==2) printf("0\n");
else {
if (L[0]==3) rez=perlaC(0);
else rez=perlaB(0);
printf("%d\n",rez);
}
}
return 0;
}