Cod sursa(job #1593292)

Utilizator RaduToporanRadu Toporan RaduToporan Data 8 februarie 2016 15:18:28
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>

int v[10005],n,sir,k,i;
int B(int x);
int C(int x);

int B(int x)
{
    if (v[x]==2) return B(x+1);
    if (v[x]==1 && v[x+2]==3) return C(x+4);
    return 0;
}

int C(int x)
{
    if (v[x]==2) return x+1;
    if (v[x]==3) return C(B(x+1));
    if (v[x]==1 && v[x+1]==2) return x+3;
}

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