Cod sursa(job #2812886)

Utilizator mateilazarescumateilazarescu mateilazarescu Data 5 decembrie 2021 13:14:06
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
using namespace std;
int const inf = (1<<30);
ifstream fin("perle.in");
ofstream fout("perle.out");
int v[10005],n,t,i;
int C(int p);
int B(int p)
{
    if(p>n)
        return inf;
    if(v[p]==2)
        return B(p+1);
    if(v[p]==1 and v[p+2]==3)
        return C(p+4);
    return inf;
}
int C(int p)
{
    if(p>n)
        return inf;
    if(v[p]==2)
        return p+1;
    if(v[p]==1 and v[p+1]==2)
        return p+3;
    if(v[p]==3)
        return C(B(p+1));
    return inf;
}
int main()
{
    fin>>t;

    while(t--)
    {
        fin>>n;
        for(i=1;i<=n;i++)
            fin>>v[i];
        if(n==1)
        {
            fout<<1<<'\n';
            continue;
        }
        fout<<(((B(1)==n+1) || (C(1)==n+1)) ? "1\n" : "0\n");
    }

    return 0;
}