Cod sursa(job #1361446)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 25 februarie 2015 21:16:05
Problema Perle Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;

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

int verifB(int poz);
int verifC(int poz);

int t, n;

int v[20];

int verifB(int poz) {
	
	if (poz > n)
		return 20;

	if (v[poz] == 2)
		return verifB(poz + 1);
	
	if (v[poz] == 1 && v[poz + 2] == 3)
		return verifC(poz + 4);

	return 20;
}

int verifC(int poz) {
	
	if (poz > n)
		return 20;

	if (v[poz] == 2)
		return poz;

	if (v[poz] == 1 && v[poz + 1] == 2)
		return poz + 2;

	if (v[poz] == 3)
		return verifC(1 + verifB(poz + 1));

	return 20;

}

int main() {

	fin >> t;

	while (t--) {

		fin >> n;

		for (int i = 1; i <= n; i++)
			fin >> v[i];

		if (n == 1) {
			fout << "1\n";
			continue;
		}

		if (verifB(1) == n || verifC(1) == n) {
			fout << "1\n";
			continue;
		}

		fout << "0\n";

	}

	return 0;
}