Cod sursa(job #2249309)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 29 septembrie 2018 15:11:34
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#define VAL 10025

using namespace std;

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

int T, N, i, j;
int v[VAL];

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

int B(int poz)
{
    if (v[poz]==2)
        return B(poz+1);
    if (v[poz]==1 && v[poz+2]==3)
        return C(poz+4);
    return 0;
}

int C(int poz)
{
    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 0;
}

int main()
{
    fin >> T;
    while (T>0)
    {
        T--;
        fin >> N;
        for (i=1; i<=N; i++)
            fin >> v[i];
        if (N==1 || B(1)==N+1 || C(1)==N+1)
            fout << 1 << '\n';
        else
            fout << 0 << '\n';
    }
    fin.close();
    fout.close();
    return 0;
}