Cod sursa(job #1027393)

Utilizator suzanicaSuzanica Mihu suzanica Data 12 noiembrie 2013 19:10:38
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[10005],n,i,j,k;

int B(int x);
int C(int x);

int B(int x)
{
    if (v[x]==2) return B(x+1);
    if (v[x]==1 && v[x+2]==3) return C(x+4);
    return 0;
}

int C(int x)
{
    if (v[x]==2) return x+1;
    if (v[x]==3) return C(B(x+1));
    if (v[x]==1 && v[x+1]==2) return x+3;
    return 0;
}

int main()
{
    freopen("perle.in","r",stdin);
    freopen("perle.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        scanf("%d",&k);
        for (j=1;j<=k;j++)
            scanf("%d",&v[j]);
        if (k==1 || B(1)==k+1 || C(1)==k+1)
            printf("1\n");else
                printf("0\n");
    }
    return 0;
}