Pagini recente » Cod sursa (job #3000522) | preONI 2005 runda #3 - solutii | Cod sursa (job #584504) | Cod sursa (job #716139) | Cod sursa (job #832428)
Cod sursa(job #832428)
#include<stdio.h>
#include<string.h>
int n,u,a[10010];
bool perla_b();
bool perla_c();
bool cond()
{
bool rez;
u=1;rez=(perla_b() && u>=n);
u=1;rez=(perla_c() && u>=n);
return rez || n==1;
}
bool perla_b()
{
if(n-u>=3 && a[u]==1 && a[u+2]==3) {u=u+4;return perla_c();}
if(a[u]==2) {u++;return perla_b();}
return false;
}
bool perla_c()
{
if(a[u]==1 && a[u+1]==2) {u=u+3;return true;}
if(a[u]==2) {u++;return true;}
if(a[u]==3) {u++;perla_b();return perla_c();}
return false;
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
int T;
for(scanf("%d",&T);T;T--)
{
scanf("%d",&n);
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
printf("%d\n",cond());
}
return 0;
}