Cod sursa(job #1850406)

Utilizator cicero23catalin viorel cicero23 Data 18 ianuarie 2017 17:28:15
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

using namespace std;

FILE*f=fopen("perle.in","r");
FILE*g=fopen("perle.out","w");

int n,v[10021];

int c(int i);

int b(int i)
{
    if (v[i]==2) return b(i+1);
    if (v[i]==1&&v[i+2]==3) return c(i+4);
    return 0;
}

int c(int i)
{
    if (v[i]==2) return i+1;
    if (v[i]==3) return c(b(i+1));
    if (v[i]==1&&v[i+1]==2) return i+3;
    return 0;
}

int main()
{
    int m,i,j;
    fscanf(f,"%d",&m);
    for (i=1;i<=m;i++)
    {
        fscanf(f,"%d",&n);
        for (j=1;j<=n;j++)
            fscanf(f,"%d",&v[j]);
        if (n==1||b(1)==n+1||c(1)==n+1) fprintf(g,"1\n");
        else fprintf(g,"0\n");

    }
    return 0;
}