Cod sursa(job #1841686)

Utilizator Victor24Vasiesiu Victor Victor24 Data 5 ianuarie 2017 21:39:12
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 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 poz;

}

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

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

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

    return poz+2;

}


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;

}