Cod sursa(job #1122711)

Utilizator sk8ervinMaftei Ervin sk8ervin Data 25 februarie 2014 20:02:43
Problema Perle Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 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");
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()
{
    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;
}