Cod sursa(job #1122727)

Utilizator sk8ervinMaftei Ervin sk8ervin Data 25 februarie 2014 20:08:02
Problema Perle Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>
#include <cstdio>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
long long int 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()
{
    f>>n;
    for (i=1;i<=n;++i)
        {
            f>>v[0];
            k=1;
            for (j=1;j<=v[0];++j)
                {
                    f>>v[j];
            }
            if (v[0]==1||B(1)==v[0]+1||C(1)==v[0]+1)
            g<<"1\n";
            else g<<"0\n";
        }
    return 0;
}