Cod sursa(job #238129)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 31 decembrie 2008 17:31:33
Problema Perle Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("perle.in","r"),*g=fopen("perle.out","w");
int n,a[10001];
int c(int);
int b(int);
int b(int i)
{
	if(*(a+i)==2)
		return b(i+1);
	if(*(a+i)==1&&(*(a+2+i))==3)
		return c(i+4);
}
int c(int i)
{
	if(*(a+i)==2)
	{
		if(i==n)
			return 1;
		return c(i+1);
	}
	if(*(a+i)==1&&(*(a+i+1))==2)
	{
		if(i+2==n)
			return 1;
		return c(i+3);
	}
	if(*(a+i)==3)
		return b(i+1);
	return 0;
}
int solve()
{
	if(n==1)
		return 1;
	if(n==2)
		return 0;
	if(a[1]==3)
		return c(1);
	return b(1);
}
int main()
{
	fscanf(f,"%d",&n);
	for(int i=1;i<=n;i++)
	{
		int len;
		fscanf(f,"%d",&len);
		for(int j=1;j<=len;j++)
			fscanf(f,"%d",&a[j]);
		fprintf(g,"%d\n",solve());
	}
	return 0;
}