Cod sursa(job #1143826)

Utilizator maribMarilena Bescuca marib Data 16 martie 2014 09:53:54
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>

using namespace std;

int n, i, j, l, rasp, v[10001], x=-1, y;

int constr_c(int poz);

int constr_b(int poz)
    {
        if(v[poz]==2) return constr_b(poz+1);
        if(v[poz]==1&&v[poz+2]==3)
            return constr_c(poz+4);
        return -1;
    }
int constr_c(int poz)
    {
        if(v[poz]==2) return poz+1;
        if(v[poz]==3)
            {
                return constr_c(constr_b(poz+1));
            }
        if(v[poz]==1&&v[poz+1]==2)
            return poz+3;
        return -1;
    }


int main()
{
    ifstream in("perle.in");
    ofstream out ("perle.out");
    in>>n;
    for(i=1; i<=n; ++i)
        {
            in>>l;
            for(j=1; j<=l; ++j)
                {
                    in>>v[j];
                }
            if(l==1) out<<"1\n";
            else if(l==2) out<<"0\n";
            else
            {
                x=constr_b(1);
                y=constr_c(1);
                if(x==l+1||y==l+1)
                     out<<"1\n";
                else out<<"0\n";
            }
        }
    in.close();
    out.close();
    return 0;
}