Cod sursa(job #2330239)

Utilizator denisa2904Denisa Munteanu denisa2904 Data 28 ianuarie 2019 09:41:36
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda lmk_1 Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
int n,v[10002],t,i;
ifstream fin("perle.in");
ofstream fout("perle.out");
int B(int);
int C(int);
int B(int i)
{
    if(i<=t&&i>=1)
    {
        if(v[i]==2) return B(i+1);
        else if(v[i]==1&&v[i+2]==3&&i+3<=t) return C(i+4);
        else C(i);
    }
    else return -1;
}
int C(int i)
{
    if(i<=t&&i>=1)
    {
        if(v[i]==2) return i+1;
        else if(v[i]==3) return C(B(i+1));
        else if(v[i]==1&&v[i+1]==2&&i+2<=t) return i+3;
        else return -1;
    }
    else return -1;
}
int main()
{
    fin>>n;
    for(int k=1;k<=n;k++)
    {
        fin>>t;
        for(i=1;i<=t;i++)
            fin>>v[i];
        if(t>=2)
        {
            if(B(1)>t)fout<<1<<"\n";
            else fout<<0<<"\n";
        }
        else fout<<1<<"\n";
    }
}