Pagini recente » Cod sursa (job #2808268) | Cod sursa (job #79365) | Cod sursa (job #1627842) | Cod sursa (job #896611) | Cod sursa (job #315998)
Cod sursa(job #315998)
#include<stdio.h>
int n;
int v[10002];
int rez_c(int x);
int rez_b(int x);
int rez_c(int x)
{
if(x>n)
return 0;
if(v[x]==2)
{
if(x==n)
return 1;
return rez_c(x+1);
}
if(v[x]==1 && v[x+1]==2)
{
if(x+2==n)
return 1;
rez_c(x+3);
}
if(v[x]==3)
return rez_b(x+1);
return 0;
}
int rez_b(int x)
{
if(x>n)
return 0;
if(v[x]==2)
return rez_b(x+1);
if(v[x]==1 && v[x+2]==3 && (x+4<=n))
return rez_c(x+4);
return 0;
}
int rez()
{
if(n==1)
return 1;
if(n==2)
return 0;
if(v[1]==3)
return rez_c(1);
return rez_b(1);
}
void read()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
int t,i;
scanf("%d",&t);
for(;t;t--)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
printf("%d\n",rez());
}
}
int main()
{
read();
return 0;
}