Cod sursa(job #1016276)

Utilizator nicuvladNicu Vlad nicuvlad Data 25 octombrie 2013 23:23:01
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#define N 10010
using namespace std;
void perlab();
void perlac();
int v[N],k,m,n,ok,i,j,c;

void perlab()
{
if (v[k]==2){k++;perlab();}
else if (v[k]==1 && v[k+2]==3){k+=4;perlac();}
else perlac();
}

void perlac()
{
if (v[k]==2)k++;
else if (v[k]==1 && v[k+1]==2 && k+2<=m)k+=3;
else if (v[k]==3){k++;perlab();perlac();}
else if (k>=m-2)ok=0;
}

int main()
{
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);

    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        ok=1;
        scanf("%d",&m);
        for(j=1;j<=m;j++)scanf("%d",&v[j]);
        k=1;
        if (m!=1)perlab();
        if (ok==1)printf("%d\n",1);
        else printf("%d\n",0);
    }
}