Cod sursa(job #1605714)

Utilizator cmarius46Mihail Vlahuta cmarius46 Data 19 februarie 2016 13:41:34
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[10005],m,n,i;
int C(int i);
int B(int i);
int B(int i)
{
    if(a[i]==2)
        return B(i+1);
    if(a[i]==1&&a[i+2]==3)
            return C(i+4);
    return 0;
}
int C(int i)
{
    if(a[i]==2)
        return i+1;
    if(a[i]==3)
        return C(B(i+1));
    if(a[i]==1&&a[i+1]==2)
        return i+3;
}
int main()
{freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
    scanf("%d",&m);
    for(int j=1;j<=m;j++)
        scanf("%d",&a[j]);
    if(m==1||B(1)==m+1||C(1)==m+1)
        printf("%d",1);
    else
        printf("%d",0);
}
    return 0;
}