Cod sursa(job #902348)

Utilizator penultim_oVijiala Tudor Gabriel penultim_o Data 1 martie 2013 13:45:36
Problema Perle Scor 100
Compilator cpp Status done
Runda pregatire_oji_11-12 Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, a[10010];

int b(int x);
int c(int x)
{
    if(x>=n) return -1;
    if(a[x]==2) return x+1;
    if(a[x]==3) return c(b(x+1));
    if(a[x]==1 && a[x+1]==2) return x+3;
    return -1;
}
int b(int x)
{
    if(x>=n) return -1;
    if(a[x]==2) return b(x+1);
    if(a[x]==1 && a[x+2]==3) return c(x+4);
}

int main()
{
    int t; in >> t;
    for(int i=0; i<t; i++)
    {
        in >> n; for(int j=0; j<n; j++) in >> a[j];
        if(n==1 || b(0) == n || c(0) == n) out << "1\n";
        else out << "0\n";
    }
    return 0;
}