Cod sursa(job #1639549)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 8 martie 2016 12:50:24
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;

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

int t, n, i, j;
int s[10001];

int b(int);
int c(int);

int b(int k)
{
    if (s[k] == 2)
        return b(k+1);
    if (s[k] == 1 && s[k+2] == 3)
        return c(k+4);
    return 0;
}
int c(int k)
{
    if (s[k] == 2)
        return k+1;
    if (s[k] == 3)
        return c(b(k+1));
    if (s[k] == 1 && s[k+1] == 2)
        return k+3;
}

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

        if (n == 1 || b(1) == n+1 || c(1) == n+1)
            g << "1\n";
        else
            g << "0\n";
    }
    return 0;
}