Cod sursa(job #1325808)

Utilizator vladttturcuman vlad vladtt Data 24 ianuarie 2015 13:11:55
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int a[10001],n,x;
int incearca_b(int p);
int incearca_c(int p);

int main()
{
    fin>>x;
    for(int i=1;i<=x;i++)
    {
        fin>>n;
        for(int i=1;i<=n;i++)
            fin>>a[i];
        if(n==1 || incearca_b(1)==n+1 || incearca_c(1)==n+1)
            fout<<1<<'\n';
        else
            fout<<0<<'\n';
    }
}

int incearca_c(int p)
{
    if(a[p]==2)
        return p+1;
    else
    if(a[p]==3)
        return incearca_c(incearca_b(p+1));
    else
        if(a[p]==1 && a[p+1]==2)
            return p+3;
    return 0;
}
int incearca_b(int p)
{
    if(a[p]==2)
        return incearca_b(p+1);
    else
    if(a[p]==1 && a[p+2]==3)
        return incearca_c(p+4);
    return 0;
}