Cod sursa(job #1832441)

Utilizator stelian2000Stelian Chichirim stelian2000 Data 20 decembrie 2016 01:39:09
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <cstdio>

using namespace std;

int l,l1,p,v[10010];

void A()
{
    l1++;
}

void B();
void C();

void B()
{
    if(v[l1]==2)
    {
        l1++;
        B();
    }
    else if(v[l1]==1)
    {
        A();
        l1++;
        if(v[l1]==3) {A();l1++;C();}
        else p=1;
    }
    else p=1;
}

void C()
{
    if(v[l1]==3)
    {
        l1++;B();l1++;C();
    }
    else if(v[l1]==1)
    {
        l1++;if(v[l1]==2) A();
                else p=1;
    }
}

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