Cod sursa(job #390047)

Utilizator ghitzZzaGheorghita Hurmuz ghitzZza Data 2 februarie 2010 20:22:20
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;

int a[15000],n;
int b(int i);int c(int i);int rezolvare();
int main()
{
    ifstream f("perle.in");
    ofstream g("perle.out");
    int l;
    f>>l;
    for(int i=0;i<l;i++)
    {
        f>>n;
        for(int j=0;i<n;j++)f>>a[j];
        g<<rezolvare();
    }
    return 0;
}
int b(int i)
{
    if(a[i]==2) return b(i+1);
    if(a[i]==1 && a[i+2]==3) return c(i+4);
    return c(i+1);
}
int c(int i)
{
    if(a[i]==2)
    {
        if(i==n) return 1;
        return c(i+1);
    }
    if(a[i]==1&&a[i+1]==2)
    {
        if(i+2==n) return 1;
        return c(i+3);
    }
    if(a[i]==3) return b(i+1);
    return 0;
}
int rezolvare()
{
    if(n==1) return 1;
    if(n==2)return 0;
    if(a[1]==3) return c(1);
    return b(1);
}