Cod sursa(job #2914919)

Utilizator vlad2009Vlad Tutunaru vlad2009 Data 21 iulie 2022 13:15:50
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;

const int MAX_N = 1e4;
int a[MAX_N + 1];
int q;

int c(int niv);

int b(int niv) {
    if (a[niv] == 2) {
        return b(niv + 1);
    } else if (a[niv] == 1 && a[niv + 2] == 3) {
        return c(niv + 4);
    }
    return 0;
}

int c(int niv) {
    if (a[niv] == 2) {
        return niv + 1;
    }
    if (a[niv] == 3) {
        return c(b(niv + 1));
    } else if (a[niv] == 1 && a[niv + 1] == 2) {
        return niv + 3;
    }
    return 0;
}

int main() {
    ifstream fin("perle.in");
    ofstream fout("perle.out");
    fin >> q;
    while (q--) {
        int n;
        fin >> n;
        for (int i = 0; i < n; i++) {
            fin >> a[i];
        }
        if (n == 1 || c(0) == n || b(0) == n) {
            fout << "1\n";
        } else {
            fout << "0\n";
        }
    }
    return 0;
}