Cod sursa(job #189627)

Utilizator thebest001Neagu Rares Florian thebest001 Data 16 mai 2008 13:04:26
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
# 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;
}