Cod sursa(job #3175497)

Utilizator andreifilimonPopescu Filimon Andrei Cosmin andreifilimon Data 25 noiembrie 2023 21:33:47
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
#define MAXN 10001

int v[MAXN+1];

int C(int poz);

int B(int poz)
{
    if(v[poz]==2)
        return B(poz+1);
    else if(v[poz]==1 && v[poz+2]==3)
        return C(poz+4);
    return 0;
}

int C(int poz)
{
    if(v[poz]==2)
        return poz+1;
    if(v[poz]==3)
        return C(B(poz+1));
    else if(v[poz]==1 && v[poz+1]==2)
        return poz+3;
    return 0;
}

int main()
{
    int q;
    cin>>q;
    int n, i;
    while(q>0)
    {
        cin>>n;
        for(i=0; i<n; i++)
            cin>>v[i];
        if(n==1 || B(0)==n || C(0)==n)
            cout<<1;
        else
            cout<<0;
        cout<<'\n';
        q--;
    }
    return 0;
}