Cod sursa(job #675651)

Utilizator IoanaMarMarussi Ioana IoanaMar Data 7 februarie 2012 21:51:20
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
#include <fstream>

using namespace std;

ifstream f("perle.in");
ofstream g("perle.out");
int n;
int v[10002];
int rez_b(int x);

int rez_c(int x)
{
if(v[x]==2)
{
    if(x==n)
        return 1;
    else
        return rez_c(x+1);
}
if(v[x]==1 && v[x+1]==2)
{
    if(x+2==n)
        return 1;
    else
        rez_c(x+3);
}
if(v[x]==3)
    return rez_b(x+1);
return 0;
}

int rez_b(int x)
{
 if(v[x]==2)
    return rez_b(x+1);
 if(v[x]==1 && v[x+2]==3)
    return rez_c(x+4);
 return rez_c(x+1);
}

int rez()
{
 if(n==1)
    return 1;
 if(n==2)
    return 0;
 if(v[1]==3)
    return rez_c(1);
 return rez_b(1);
}

void read()
{
 int t,i;
 f>>t;
 for(;t;t--)
 {
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    g<<rez();
 }
}

int main()
{
 read();
 return 0;
}