Cod sursa(job #2925480)

Utilizator AdrianRosuRosu Adrian Andrei AdrianRosu Data 15 octombrie 2022 13:42:45
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int a[10001];
int i, test, n;
int c(int level);
int b(int level);
int b(int level){
    if(a[level] == 2)
        return b(level + 1);
    else if(a[level] == 1 && a[level + 2] == 3)
        return c(level + 4);
    return 0;
}
int c(int level){
    if(a[level] == 2)
        return level + 1;
    else if(a[level] == 3)
        return c(b(level + 1));
    else if(a[level] == 1 && a[level + 1] == 2)
        return level + 3;
    return 0;
}
int main(){
fin >> test;
while(test--){
    fin >> n;
    for(i=1;i<=n;i++)
        fin >> a[i];
    if(n == 1 || b(1) == n  + 1 || c(1) == n + 1)
        fout << "1\n";
    else fout << "0\n";
}
}