Cod sursa(job #1774222)

Utilizator mihnea00Duican Mihnea mihnea00 Data 8 octombrie 2016 18:18:19
Problema Perle Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <fstream>

using namespace std;

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

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

int cazb(int j);
int cazc(int j);

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