Cod sursa(job #893805)

Utilizator monica11Szekely Monica monica11 Data 26 februarie 2013 18:01:41
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream>
using namespace std;
int a[10001],n,lg;
ifstream f("perle.in");
ofstream g("perle.out");
int C(int x);
int B(int x)
{
    while(x<=lg&&a[x]==2)
        x++;
        if(a[x]==1&&a[x+2]==3)
            return C(x+4);
    else
        return 0;
     
}
int C(int x)
{
    if(a[x]==2)
        return x;
    else
        if(a[x]==1&&a[x+1]==2)
            return x+2;
        else
            if(a[x]==3)
            {
                int b=B(x+1);
                if(b!=0)
                 return C(b+1);
                else
                    return 0;
            }
            else
                return 0;
}
int verif()
{
    if(lg==1)
        return 1;
    else
        if(B(1)==lg||C(1)==lg)
            return 1;
    else
        return 0;
}
int main()
{
    int i,j;
    f>>n;
    for(j=1;j<=n;j++)
    {
        f>>lg;
        for(i=1;i<=lg;i++)
            f>>a[i];
        g<<verif()<<"\n";
    }
}