Cod sursa(job #2682852)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 9 decembrie 2020 19:07:46
Problema Perle Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");

int n, m, v[10005];
int B(int poz);
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);
    else
        return 0;
}

int C(int poz)
{
    if(v[poz] == 2 && poz == n)
        return poz + 1;
    else 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()
{
    f >> m;
    for(; m ; m--)
    {
        f >> n;
        for(int i = 1; i <= n; i++)
            f >> v[i];
        int poz = 1;
        if(n == 1 || B(1) == n + 1 || C(1) == n + 1)
            g << "1\n";
        else
            g << "0\n";
    }

    return 0;
}