Cod sursa(job #1774245)

Utilizator mihnea00Duican Mihnea mihnea00 Data 8 octombrie 2016 18:43:49
Problema Perle Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 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]==1 && v[j+1]==2)
        return j+2;
    if(v[j]==3)
    {
        if(cazb(j+1))
        return cazc(cazb(j+1)+1);
    }
}
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
        {
            if(cazb(1)==l || cazc(1)==l)
                fout<<1<<"\n";
            else
                fout<<0<<"\n";
            //fout<<x<<"\n";
        }
    }
    return 0;
}