Cod sursa(job #1608075)

Utilizator ana-maria.simiAna-Maria Simionescu ana-maria.simi Data 21 februarie 2016 20:07:13
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,nr,a[10002],i,j,rez;
int c(int q);
int b(int q)
{
    if(a[q]==2)
        return b(q+1);
        else
            if(a[q]==1 && a[q+2]==3)
                return c(q+4);
    return 0;
}
int c(int q)
{
    if(a[q]==1 && a[q+1]==2)
        return q+3;
        else
            if(a[q]==3)
                return c(b(q+1));
                else
                    if(a[q]==2)
                        return q+1;
return 0;
}
int main ()
{freopen("perle.in", "r", stdin);
freopen("perle.out", "w", stdout);
scanf("%d", &n);
for(i=0; i<n; i++)
    {scanf("%d", &nr);
    for(j=0; j<nr; j++)
        scanf("%d", &a[j]);
    a[nr]=4;
    if(nr==1)
        rez=1;
        else
            if(a[0]==2)
               rez=b(0);
               else
                    if(a[0]==3)
                        rez=c(0);
                        else
                            if(a[0]==1 && a[0]==3)
                                rez=c(0);
                                else
                                    rez=b(0);
    if(rez==nr)
        cout<<1<<'\n';
        else
            cout<<0<<'\n';}



    return 0;
}