Cod sursa(job #1841702)

Utilizator Victor24Vasiesiu Victor Victor24 Data 5 ianuarie 2017 22:01:07
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>
using namespace std;

ifstream f ("perle.in");
ofstream g ("perle.out");

int v[10001], q, i, n;

int perlaC (int poz);
int perlaB(int poz);

int perlaB(int poz)
{

    if (poz>n)
    {
        return 0;
    }

    if (v[poz]==2)
    {
        return perlaB(poz+1);
    }

    if (v[poz]==1&&v[poz+2]==3)
    {
        return perlaC(poz+4);
    }

    return 0;

}

int perlaC ( int poz )
{
    if (poz > n)
    {
        return 0;
    }

    if (v[poz]==2)
    {
        return poz;
    }

    if (v[poz]==3)
    {
        int x = perlaB(x+1);
        if (x==0)
            return 0;
        return perlaC(x+1);
    }

    if (v[poz]==1&&v[poz+1]==2)
    {
        return poz+2;
    }
    return 0;

}


int main ()
{
    f>>q;

    for (int o = 1 ; o <= q ; o++)
    {
        f>>n;

        if (n==1)
        {
            g<<1<<'\n';
            continue;
        }

        for (i=1; i<=n; i++)
        {
            f>>v[i];
        }

        if ( (perlaB(1) == n) || perlaC(1) == n )
        {
            g<<1<<'\n';
        }
        else
        {
            g<<0<<'\n';
        }

    }

    return 0;

}