Cod sursa(job #1773891)

Utilizator mihnea00Duican Mihnea mihnea00 Data 8 octombrie 2016 12:42:50
Problema Perle Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

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

int n,i,j,k,l,x,v[10010];

//vector<int> v;

void cazb();
void cazc();

void cazb()
{
    if(v[j]==2)
    {
        j++;
        cazb();
    }
    if(v[j]==1 && j+4<=l)
    {
        if(v[j+2]!=3)
            return ;
        j=j+4;
        cazc();
    }
    else
        return ;
}
void cazc()
{
    if(v[j]==3)
    {
        j++;
        cazb();
        j++;
        cazc();
    }
    if(v[j]==1)
    {
        if(v[j+1]!=2)
            return ;
        j=j+2;
    }
}

int main()
{
    fin>>n;
    //v.push_back(-1);
    for(i=1;i<=n;i++)
    {
        fin>>l;
        for(j=1;j<=l;j++)
        {
            fin>>v[j];
            //v[j]=x;
        }
        if(l==1)
            fout<<1<<"\n";
        else
        {
            j=1;
            if(v[1]==1)
            {
                if(v[2]==2 && l==3)
                    fout<<1<<"\n";
                else
                    cazb();
            }
            if(v[1]==2)
            {
                cazb();
            }
            if(v[1]==3)
            {
                cazc();
            }
            //fout<<j<<"\n";
            if(j==l)
                fout<<1<<"\n";
            else
                fout<<0<<"\n";
        }
        for(j=1;j<=l;j++)
            v[j]=0;
    }
    return 0;
}