Cod sursa(job #1850391)

Utilizator cicero23catalin viorel cicero23 Data 18 ianuarie 2017 17:16:28
Problema Perle Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int a[10001],m;
int pb(int);
int pc(int);
int pb(int i)
{
    if(i<=m)
    {
        if(a[i]==1&&a[i+2]==3) return pc(i+4);
        else if(a[i]==2) return pb(i+1);
    }
    return 0;
}
int pc(int i)
{
    if(i<=m)
    {
        if(a[i]==2) return i;
        else if(a[i]==3) return pc(pb(i+1)+1);
        else if(a[i]==1&&a[i+1]==2) return i+2;
    }
}
int main()
{
    int n,j,k;
    f>>n;
    for(j=1;j<=n;j++)
    {
        f>>m;
        for(k=1;k<=m;k++)
            f>>a[k];
        if(pb(1)==m||pc(1)==m) g<<1<<'\n';
        else g<<0<<'\n';
    }
    return 0;
}