Pagini recente » Istoria paginii utilizator/alexeicapodistria | Istoria paginii utilizator/denizozguluk | Cod sursa (job #2035943) | Cod sursa (job #1510071) | Cod sursa (job #690469)
Cod sursa(job #690469)
#include <cstdio>
using namespace std;
#define dim 10010
int a[dim], t, n;
int b(int i);
int c(int i);
int b(int i)
{
if(a[i]==2)
return b(i+1);
if(a[i]==1 && a[i+2]==3)
return c(i+4);
return c(i+1);
}
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()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
scanf("%ld",&t);
for( ; t ;--t)
{
scanf("%ld",&n);
for(int i=1;i<=n;++i)
scanf("%ld",&a[i]);
printf("%ld\n",solve());
}
return 0;
}