Cod sursa(job #2758995)

Utilizator IoanMihaiIoan Mihai IoanMihai Data 14 iunie 2021 19:57:37
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int m, n, a[10005];
int B(int);
int C(int);
int B(int p)
{
    if (a[p] == 2)
        return B(p + 1);
    if (a[p] == 1 && a[p+2] == 3)
        return C(p+4);
    return 0;
}
int C(int p)
{
    if (a[p] == 2)
        return p + 1;
    if (a[p] == 3)
        return C(B(p+1));
    if (a[p] == 1 && a[p+1] == 2)
        return p + 3;
    return 0;
}
int main() {
    fin >> m;
    for (int i=1;i<=m;i++){
        fin >> n;
        for (int j=1;j<=n;j++)
            fin >> a[j];
        if (n == 1 || B(1) == n + 1 || C(1) == n + 1)
            fout << 1 << '\n';
        else
            fout << 0 << '\n';
    }
    return 0;
}