Cod sursa(job #2249382)

Utilizator ciutanpCiuta Andrei Calin ciutanp Data 29 septembrie 2018 18:21:11
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");

int v[10005],n,k;

int C(int i);

int B(int i)
{
    if(i<=k)
    {
        if(v[i]==2)
            return B(i+1);
        else
            if(v[i]==1 && v[i+2]==3)
                return C(i+4);
    }
    return -1;
}

int C(int i)
{
    if(i<=k)
    {
        if(v[i]==2)
            return i+1;
        if(v[i]==3)
            return C(B(i+1));
        if(v[i]==1 && v[i+1]==2)
            return i+3;
    }
    return -1;
}

int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
    {
        f>>k;
        for(int i=1;i<=k;++i)
        {
            f>>v[i];
        }
        if(k==1)
            g<<1<<'\n';
        else
            g<<(B(1)==k+1 || C(1)==k+1)<<'\n';
    }
}