Cod sursa(job #897978)

Utilizator mihai27Mihai Popescu mihai27 Data 27 februarie 2013 23:31:15
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>

using namespace std;

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

int j,i,n,a[10005],t;

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

int B(int i)
{
    if (i>n) return 0;

    if (a[i]==1 && a[i+2]==3)
        return C(i+4);
    if (a[i]==2)
        return B(i+1);

    return 0;
}

int C(int i)
{
    if (i>n) return 0;

    if (a[i]==3)
        return C(B(i+1));

    if (a[i]==1 && a[i+1]==2)
        return i+3;
    if (a[i]==2)
        return i+1;

    return 0;
}

int main()
{
    in>>t;
    for (i=1;i<=t;i++)
    {
        in>>n;
        for (j=1;j<=n;j++)
            in>>a[j];

        if (n==1 || B(1)==n+1 || C(1)==n+1) out<<"1\n";
            else out<<"0\n";
    }
}