Cod sursa(job #1895402)

Utilizator GoogalAbabei Daniel Googal Data 27 februarie 2017 22:28:17
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#define nmax 10001

using namespace std;

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

int n,q,v[nmax],a,b;

int case1(int i);
int case2(int i);

int case1(int i)
{
    if(v[i]==1 && v[i+2]==3)
        return case2(i+4);
    if(v[i]==2)
        return case1(i+1);
    return 0;
}

int case2(int i)
{
    if(v[i]==3)
        return case2(case1(i+1));
    if(v[i]==1 && v[i+2]==3)
        return i+3;
    if(v[i]==2)
        return i+1;
    return 0;
}

void solve()
{
    int i,j;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>q;
        for(j=1; j<=q; j++)
            fin>>v[j];
        if(q==1 || case1(1)==q+1 || case2(1)==q+1)
            fout<<"1\n";
        else fout<<"0\n";
    }
    fin.close();
    fout.close();
}

int main()
{
    solve();
    return 0;
}