Cod sursa(job #1861092)

Utilizator TherevengerkingSurani Adrian Therevengerking Data 28 ianuarie 2017 16:21:13
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
const int Nmax=10000+21;
int l[Nmax];
int solvec(int j);
bool zero;
int n,t;
int solveb (int j)
{
    if(l[j]==2) return solveb(j+1);
    if(l[j]==1 && l[j+2]==3 && j+4<=n)return solvec(j+4);
    return 0;
}
int solvec(int j)
{
    if(l[j]==2)return j+1;
    if(l[j]==3) return solvec(solveb(j+1));
    if(l[j]==1 && l[j+1]==2) return j+3;
    return 0;
}
int main()
{
    fin>>t;
    while(t--)
    {
        fin>>n;
        for(int i=1;i<=n;++i)fin>>l[i];
        if(n==1 || solveb(1)==n+1 || solvec(1)==n+1)fout<<1<<'\n';
        else fout<<0<<'\n';
    }
    return 0;
}