Cod sursa(job #1362723)

Utilizator MaarcellKurt Godel Maarcell Data 26 februarie 2015 14:52:41
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;

int N,a[10001],T,p;

void solve_b(int x);
void solve_c(int x);

void solve_b(int x){
    if (a[x]==2){ p++; solve_b(p); }
    else if (a[x]==1 && a[x+2]==3) { p+=4; solve_c(p); }
    else p=0;
}

void solve_c(int x){
    if (a[x]==2) p++;
    if (a[x]==1 && a[x+1]==2) p+=3;
    if (a[x]==3){ p++; solve_b(p); solve_c(p); }
}

int main(){
    ifstream fin("perle.in");
    ofstream fout("perle.out");
    fin >> T;

    int i;
    while (T--){
        fin >> N;
        for (i=1; i<=N; i++) fin >> a[i];
        if (N==1) { fout << "1\n"; continue; }
        p=1; solve_b(1); if (p==N+1) { fout << "1\n"; continue; }
        p=1; solve_c(1); if (p==N+1) { fout << "1\n"; continue; }

        fout << "0\n";
    }

    return 0;
}