Cod sursa(job #983475)

Utilizator enedumitruene dumitru enedumitru Data 11 august 2013 21:34:50
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdio>
using namespace std;
int t,n,i,a[10005];
int C(int);
int B(int x)
{   if(n<x) return 0;
    if(a[x]==2) return B(x+1);
    if(a[x]==1&&a[x+2]==3) return C(x+4);
    return 0;
}
int C(int x)
{   if(n<x) return 0;
    if(a[x]==2) return x;
    if(a[x]==1&&a[x+1]==2) return x+2;
    if(a[x]==3)
    {   int X=B(x+1);
        if(X) return C(X+1);
    }
    return 0;
}
int main()
{   freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    scanf("%ld",&t);
    while(t--)
    {   scanf("%ld",&n);
        for(i=1;i<=n;++i) scanf("%ld",&a[i]);
        if(n==1||n==B(1)||n==C(1)) printf("1\n"); else printf("0\n");
    }
    return 0;
}