Cod sursa(job #820242)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 20 noiembrie 2012 16:09:58
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

#define MAX 10005

using namespace std;

int T, n, v[MAX], x;
int b(int poz);
int c(int poz);

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

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

int main()
{
    ifstream in("perle.in"); ofstream out("perle.out");
    for(in>>T; T; T--)
    {
        in>>n;
        for(int i = 1; i <= n; i++) in>>v[i];
        if(n == 1) out<<"1\n";
        else out<<(b(x = 1) == n + 1 || c(x = 1) == n + 1 ? 1 : 0)<<"\n";
    } in.close(); out.close();
    return 0;
}