Cod sursa(job #981409)

Utilizator AeroHHorea Stefan AeroH Data 7 august 2013 01:27:39
Problema Perle Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
//#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <utility>
#define ll long long int
#include <cstdio>
#define first f
#define second s
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
//ios_base::sync_with_stdio(false);
ll i,ii,j,maxx,n,rez,k;
string s;
int v[100000];
/*A -> 1 | 2 | 3
  B -> 2B | 1A3AC
  C -> 2 | 3BC | 12A*/

int C(int k);

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

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

int main()
{
//ios_base::sync_with_stdio(false);
cin>>n;
for (i=1;i<=n;++i)
{
    cin>>v[0];
    k=1;
    for (j=1;j<=v[0];++j)
    {
        cin>>v[j];
    }
    if (v[0]==1||B(1)==v[0]+1||C(1)==v[0]+1)
    cout<<"1\n";
    else cout<<"0\n";
}
    return 0;
}