Cod sursa(job #3239729)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 7 august 2024 13:58:43
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int t,n,k,v[10010];
bool A(),B(),C(),ok;
bool A(){
    if(k==n+1)
        return 0;
    k++;
    return 1;
}
bool B(){
    if(k==n+1)
        return 0;
    if(v[k]==2){
        k++;
        return B();
    }else if(v[k]==1){
        k++;
        if(A()&&v[k]==3){
            k++;
            if(A())
                return C();
        }
    }
    return 0;
}
bool C(){
    if(k==n+1)
        return 0;
    if(v[k]==2){
        k++;
        return 1;
    }else if(v[k]==3){
        k++;
        if(B())
            return C();
    }else{
        k++;
        if(v[k]==2){
            k++;
            return A();
        }
    }
    return 0;
}
int main()
{
    cin>>t;
    while(t--){
        cin>>n;
        for(int i=1;i<=n;i++)
            cin>>v[i];
        ok=0;
        k=1;
        if(A()&&k==n+1)
            ok=1;
        k=1;
        if(B()&&k==n+1)
            ok=1;
        k=1;
        if(C()&&k==n+1)
            ok=1;
        cout<<ok<<'\n';
    }
    return 0;
}