Cod sursa(job #1261349)

Utilizator vladrochianVlad Rochian vladrochian Data 12 noiembrie 2014 11:52:56
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;

const int kMaxN = 10005;

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

int T, N, a[kMaxN], B(int), C(int);

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

int main() {
	fin >> T;
	while (T--) {
		fin >> N;
		for (int i = 1; i <= N; ++i)
			fin >> a[i];
		if (N == 1 || B(1) == N + 1 || C(1) == N + 1)
			fout << "1\n";
		else
			fout << "0\n";
	}
	return 0;
}