Cod sursa(job #890416)

Utilizator Theorytheo .c Theory Data 25 februarie 2013 02:28:21
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>

using namespace std;

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

const int Nmax = 10009;

int T; int N; int V[Nmax];

int A(int); int B(int); int C(int);

int B(int X){

    if(X > N)   return 0;

    if(V[X] == 2) return B(X + 1);

    if(V[X] == 1 && V[X + 2] == 3) return C(X + 4);

    return 0;

}

int C(int X){

    if(X > N) return 0;

    if(V[X] == 1 && V[X + 1] == 2) return X + 2;

    if(V[X] == 2) return X;

     if(V[X] == 3){
        int k = B(X + 1);
        if(k) return C(k + 1);
        else    return 0;
    }


    return 0;
}
int main(){

    fin >> T;
    while(T--){

        fin >> N;
        for(int i = 1; i <= N; ++i)
            fin >> V[i];
        if(B(1) == N || C(1) == N || 1 == N)
            fout << 1 <<'\n';
        else
            fout << 0 <<'\n';
    }
    return 0;

}