Cod sursa(job #2809937)

Utilizator VladutzPredoiVlad Predoi VladutzPredoi Data 27 noiembrie 2021 22:30:57
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;


ifstream fin("perle.in");
ofstream fout("perle.out");


int T,n,a[11001];
const int A = 1;
const int B = 0;


int SolveC(int);


int SolveB(int i)
{
    if(i>n) return n+5;
    if(a[i]==2) return SolveB(i+1);
    if(a[i]==1 && a[i+2]==3) return SolveC(i+4);
    return n+5;
}


int SolveC(int i)
{
    if(i>n) return n+5;
    if(a[i]==2) return i;
    if(a[i]==1 && a[i+1]==2) return i+2;
    if(a[i]==3) return SolveC(SolveB(i+1)+1);
    return n+5;
}


int main()
{
    int i;
    fin>>T;
    while(T--)
    {
        fin>>n;
        for(i = 1; i <= n; ++i) fin>>a[i];
        if(n==1) fout<<A<<"\n";
        else if(SolveC(1)==n || SolveB(1)==n) fout<<A<<"\n";
        else fout<<B<<"\n";
    }
    return 0;
}