Cod sursa(job #1914276)

Utilizator tudortarniceruTudor Tarniceru tudortarniceru Data 8 martie 2017 16:15:27
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;

ifstream fin("perle.in");
ofstream fout("perle.out");

const int MAXL = 10005;
int n, l;
int v[MAXL];

int c(int k);

int b(int k) {
    int nr = 0;
    if (v[k] == 2) {
        nr = b(k + 1);
    }
    else if (v[k] == 1 && v[k + 2] == 3) {
        nr = c(k + 4);
    }
    return nr;
}

int c(int k) {
    int nr = 0;
    if (v[k] == 2) {
        nr = k + 1;
    }
    else if (v[k] == 1 && v[k + 1] == 2) {
        nr = k + 3;
    }
    else if (v[k] == 3) {
        nr = c(b(k + 1));
    }
    return nr;
}



int main() {

    fin >> n;
    for (int var = 1; var <= n; ++var) {
        fin >> l;
        for (int j = 1; j <= l; ++j) {
            fin >> v[j];
        }
        if (l == 1 || c(1) == l + 1 || b(1) == l + 1) {
            fout << '1';
        }
        else {
            fout << '0';
        }
        fout << '\n';

    }

    fout.close();
    return 0;
}