Cod sursa(job #3212143)

Utilizator bogdibogdiAndrei Bogdan bogdibogdi Data 11 martie 2024 10:43:33
Problema Perle Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,t,i,lung;
int A(int[],int);
int B(int[],int);
int C(int[],int);

int A(int v[], int st)
{
    if(st==n) return 1;
    else return 0;
}

int B(int v[], int st)
{
    if(v[st]==2) return B(v,st+1);
    else if(v[st]==1 && v[st+2]==3)  return C(v,st+4);
    else return 0;
}

int C(int v[], int st)
{
    if(v[st]==2) { if(st==n) return 1; else return 0; }
    else if(v[st]==1 && v[st+1]==2) return A(v,st+2);
    else if(v[st]==3) return B(v,st+1);
    else return 0;
}

int main()
{
    fin>>t;
    while(t--)
    {
        fin>>n;
        int v[10000];
        for(i=1;i<=n;i++) fin>>v[i];
        if(A(v,1)) fout<<1;
        else if(B(v,1)) fout<<1;
        else if(C(v,1)) fout<<1;
        else fout<<0;
        fout<<endl;
    }
    return 0;
}