Cod sursa(job #624177)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 21 octombrie 2011 21:58:46
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

int t, n, a[10005];

int c(int i);

int b(int i)
{
	if (i > n+1)
		return 15000;
	if (a[i] == 2)
		return b(i+1);
	if (a[i] == 1 && a[i+2] == 3)
		return c(i+4);
	return 15000;
}

int c(int i)
{
	if (i > n+1)
		return 15000;
	if (a[i] == 2)
		return i+1;
	if (a[i] == 1 && a[i+1] == 2)
		return i+3;
	if (a[i] == 3)
		return c(b(i+1));
	return 15000;
}


int main()
{
	ifstream f("perle.in");
	ofstream g("perle.out");
	f>>t;
	int i, j;
	for (i=0; i<t; i++)
	{
		f>>n;
		for (j=1; j<=n; j++)
			f>>a[j];
		if (n==1)
			g<<"1\n";
		else
		{
			if (b(1) == n+1)
				g<<"1\n";
			else
				if (c(1) == n+1)
					g<<"1\n";
				else
					g<<"0\n";		
		}			
	}
	f.close();
	g.close();
	return 0;
}