Cod sursa(job #1639577)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 8 martie 2016 12:54:00
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#define InFile  "perle.in"
#define OutFile "perle.out"
#define MAX 10001

using namespace std;

ifstream fin  (InFile);
ofstream fout (OutFile);

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

int n, k, v[MAX];
int i, j;

int B (int x)
{
    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 (v[x] == 2)
        return x+1;
    if (v[x] == 3)
        return C(B(x+1));
    if (v[x] == 1 && v[x+1] == 2)
        return x+3;
}

int main ()
{   fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> k;
        for (j=1; j<=k; j++)
            fin >> v[j];
        if (k == 1 || B(1) == k+1 || C(1) == k+1)
            fout << 1 << '\n';
        else
            fout << 0 << '\n';
    }
    return 0;
}