Cod sursa(job #153142)

Utilizator Mishu91Andrei Misarca Mishu91 Data 10 martie 2008 10:34:40
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<cstdio>
#define Nmax 10005

FILE *fin=freopen("perle.in","rt",stdin),
     *fout=freopen("perle.out","wt",stdout);
     
int n,a[Nmax],l;

int fcb(int k); 
     
int fcc (int k)
{
  
    
   if (a[k] == 3)
  {
    for(int i=k; a[i] == 2; i++)
    k=k+i-2;
     
    return 1 & fcb(k) & fcc(k+4);
  }
    
  
  else if (a[k] == 1 && a[k+1] == 2 && k == l-3)
    return 1;
    
   else if(a[k] == 2 && k== l-1)
     return 1;
     
   else 
     return 0;  
}
     
int fcb (int k)
{
  
  if(a[k] == 2)
    return 1 & fcb(k+1);
  
  else if(a[k] == 1)
    return 1 & fcc(k+4);
  
  else 
    return 0; 
}
  
     
void solve()
{
  scanf("%d",&l);
  for(int i=0; i<l; i++)
  {
    scanf("%d",a + i);
  }
    if(l == 1)  
    {
      printf("1\n");
      return ;
    }
  
    
  
  if(l >= 2)
  {
    if(a[0] == 1 || a[0] == 2)
      printf("%d\n",fcb(0));
    if(a[0] == 3)
      printf("%d\n",fcc(0));
  }   
 
} 

int main()
{
  scanf("%d",&n);
  for(int i=0;i<n;i++)
    solve();
  return 0;
}