Cod sursa(job #459501)

Utilizator DaninetDani Biro Daninet Data 29 mai 2010 23:37:10
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>

int a[10001];	
int n, x;
bool ok = true;


bool SolveC(int k);
bool SolveB(int k);


bool SolveB(int k) {
	if (a[k] == 2) 
		return SolveB(k+1);
	
	if (a[k] == 1&& a[k+2] == 3) 
		return SolveC(k+4);
	
	
	return 0;
}

bool SolveC(int k) {
	if (a[k] == 2) 
		return 1;
	if (a[k] == 1 && a[k+1] == 2) 
		return 1;
	if (a[k] == 3) 
		SolveB(k+1);
		
	
	
	return SolveC(k+1);
}
bool Solve() {
	if (x == 1) {
		return 1;
	}
	if (x == 2) {
		return 0;
	}
	if (a[1] == 3) {
		return SolveC(1);
	}
	return SolveB(1);
}




int main() {
	FILE *f, *g;
	f = fopen("perle.in","r");
	g = fopen("perle.out","w");
	fscanf(f,"%d\n", &n);
	for (int i = 0; i<n; ++i) {
		fscanf(f,"%d ", &x);
		for (int j = 0; j<x; ++j) {
			fscanf(f, "%d \n", &a[j]);
		}
		fprintf(g,"%d\n",Solve());
		
	}
	
	
	fclose(f);
}