Cod sursa(job #2809797)

Utilizator KarinAAndrei Karina KarinA Data 27 noiembrie 2021 17:22:19
Problema Perle Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int v[1005],n,sir;

int C(int i);

int B(int i)
{
    if(i>n) return n+4;
    if(v[i]==2)
        return B(i+1);
    if(v[i]==1 && v[i+2]==3)
        return C(i+4);
    return -1;
}

int C(int i)
{
    if(i>n) return n+4;
    if(v[i]==2)
        return i+1;
    if(v[i]==3)
        return C(B(i+1));
    if(v[i]==1 && v[i+1]==2)
        return i+3;
    return -1;
}

int main()
{
    in>>sir;
    for(int i=1;i<=sir;i++)
    {
        in>>n;
        for(int j=1;j<=n;j++)
            in>>v[j];
        if(n==1 || B(1)==n+1 || C(1)==n+1)
            out<<1<<'\n';
        else
            out<<0<<'\n';
    }
    return 0;
}