Pagini recente » Cod sursa (job #1547872) | Cod sursa (job #3193604) | Cod sursa (job #527430) | Cod sursa (job #358009) | Cod sursa (job #193609)
Cod sursa(job #193609)
#include<stdio.h>
int v[10005],t;
int dragon(int);
int balaur(int n){
if (v[n]==2)
return balaur(n+1);
if (v[n]==1 && v[n+2]==3)
return dragon(n+4);
return dragon(n+1);
}
int dragon(int n){
if(v[n]==2){
if(n==t)
return 1;
return dragon(n+1);
}
if(v[n]==1&&v[n+1]==2){
if(n+2==t)
return 1;
return dragon(n+3);
}
if (v[n]==3)
return balaur(n+1);
return 0;
}
int solve(){
if(t==1)
return 1;
else
if(t==2)
return 0;
if(v[1]==3)
return dragon(1);
return balaur(1);
}
int main(){
int n,i,j;
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",&t);
for(j=1;j<=t;++j)
scanf("%d ",&v[j]);
printf("%d\n",solve());
}
return 0;
}