Cod sursa(job #1361588)

Utilizator horatiu11Ilie Ovidiu Horatiu horatiu11 Data 25 februarie 2015 22:20:53
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
//horatiu11
# include <cstdio>
# define lgmax 10001
using namespace std;
int n,lg,v[lgmax];
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()
{
    int i,j;
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;++i)
    {
        scanf("%d",&lg);
        for(j=1;j<=lg;++j)
            scanf("%d",&v[j]);
        if(lg==1 || b(1)==lg+1 || c(1)==lg+1)
            printf("1\n");
        else
            printf("0\n");
    }
    return 0;
}