Cod sursa(job #2682857)

Utilizator AdrianadyyyIoana Adrian Adrianadyyy Data 9 decembrie 2020 19:11:28
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 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 -1;
}
 
int C(int poz)
{
    if(v[poz] == 2)
        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 -1;
}
 
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;
}