Cod sursa(job #997574)

Utilizator thewildnathNathan Wildenberg thewildnath Data 14 septembrie 2013 15:48:52
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>

int v[10002];

int c(int i);

int b(int i)
{
    if(v[i]==2)
        return b(i+1);
    if(v[i]==1&&v[i+2]==3)
        return c(i+4);
    return -1;
}

int c(int i)
{
    if(v[i]==3)
        return c(b(i+1));
    if(v[i]==1&&v[i+1]==2)
        return i+3;
    if(v[i]==2)
        return i+1;
    return -1;
}

int main()
{
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    int t,i,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i=1;i<=n;++i)
            scanf("%d",&v[i]);
        if(n==1||b(1)==n+1||c(1)==n+1)
            printf("1\n");
        else
            printf("0\n");
    }
    return 0;
}