Cod sursa(job #719676)

Utilizator ion824Ion Ureche ion824 Data 21 martie 2012 22:47:37
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<cstdio>
short a[10005]; int l,k;

int C(int i);

int B(int i){
  if(i > l+1) return 32768;
  if(a[i]==2) return B(i+1);
  if(a[i]==1 && a[i+2]==3)return C(i+4);
  return 32768;
}

int C(int i){
  if(i > l+1 )return 32768;
  if(a[i]==2)return i+1;   
  if(a[i]==3)return C(B(i+1));  
  if(a[i]==1 && a[i+1]==2)return i+3;   
}

int main(void){
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    int n,i; 
    scanf("%d\n",&n);
    while(n--){
           scanf("%d",&l);
           for(i=1;i<=l;++i)scanf("%d",&a[i]);
           if( l == 1 ) printf("1\n");
            else {
           k=B(1);
           if(k == l+1)printf("1\n");
             else       
               {
                k=C(1);        
                if(k == l+1)printf("1\n");
                   else printf("0\n");  
                   }                 
               }                                     
             }   
 return 0;   
}