Cod sursa(job #2682844)

Utilizator AlinaFloreaFlorea Alina AlinaFlorea Data 9 decembrie 2020 19:04:00
Problema Perle Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int s[10005], nsir, n; ///n lungimea unui sir
int C(int);
int B(int);

int B(int p){
    ///2B
    if(s[p]==2)
        return B(p+1);
    ///1A3AC
    if(s[p]==1 && s[p+2]==3)
        return C(p+4);
    return 0;
}

int C(int p){
    ///2
    if(s[p]==2)
        return p+1;
    ///3BC
    if(s[p]==3){
        /*int x=B(p+1);
        return C(x+1);*/
        return C(B(p+1));
    }
    ///12A
    if(s[p]==1 && s[p+1]==2)
        return p+3;
    return 0;
}
int main()
{
    f>>nsir;
    for(int i=1; i<=nsir; i++){
        f>>n;
        for(int j=1; j<=n; j++)
            f>>s[j];
        if(n==1 || B(1)==n+1 || C(1)==n+1) ///pt A
            g<<1<<'\n';
        else
            g<<0<<'\n';
    }
    return 0;
}