Cod sursa(job #1877246)

Utilizator danstefanDamian Dan Stefan danstefan Data 13 februarie 2017 10:01:41
Problema Perle Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
int q,n,v[10011];
int B(int i), C(int i);
int B(int i)
{
    if(v[i]==2)return B(i+1);
    if(v[i]==1)return C(i+4);
    return -1;
}
int C(int i)
{
    if(v[i]==2)return i+1;
    if(v[i]==1&&v[i+1]==2)return i+3;
    if(v[i]==3)return C(B(i+1));
    return -1;
}
int main()
{
    ifstream f ("perle.in");
    ofstream g ("perle.out");
    f>>q;
    ++q;
    while(--q)
    {
        f>>n;
        if(n==1)
        {
            g<<1<<'\n';
            continue;
        }
        for(int i=1; i<=n; ++i)
            f>>v[i];
        if(B(1)==n+1||C(1)==n+1)
        {
            g<<1<<'\n';
            continue;
        }
        g<<0<<'\n';
    }
    return 0;
}