Cod sursa(job #2461889)

Utilizator ArkhamKnightyMarco Vraja ArkhamKnighty Data 26 septembrie 2019 13:38:59
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;

ifstream cin("perle.in");
ofstream cout("perle.out");

int v[10002], B(int i),C(int i);
int n;

void rez()
{
    int nr;

    for(int i = 1 ; i <= n ; i++)
    {
        cin >> nr;

        for(int j = 1 ; j <= nr ; j++)
            cin >> v[j];
        if(nr == 1)
            cout << 1 << '\n';
        else if(B(1) == nr + 1 || C(1) == nr + 1)
            cout << 1 << '\n' ;
        else cout << 0 << '\n';
    }
    return;
}

int B(int i)
{
    if(v[i]==2)return B(i+1);
    if(v[i]==1 && v[i+2]==3)return C(i+4);
    return -1;
}
int C(int i)
{
    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()
{
    cin >> n;
    rez();
    return 0;
}