Pagini recente » Cod sursa (job #868739) | Cod sursa (job #839353) | Cod sursa (job #1396771) | Cod sursa (job #1252673) | Cod sursa (job #1119820)
# include <fstream>
# include <cstdio>
using namespace std;
ofstream g("perle.out");
int a[10005], n, i, j, t;
int b(int i);
int c(int i);
int solve()
{
if(n==1) return 1;
if(n==2) return 0;
if(a[1]==3) return c(1);
if(a[1]==1) if(c(1)) return 1;
return b(1);
}
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 && i==n)return 1;
if(a[i]==2) return c(i+1);
if(a[i]==3) return b(i+1);
if(a[i]==1 && a[i+1]==2 && i+2==n) return 1;
if(a[i]==1 && a[i+1]==2) return c(i+3);
return 0;
}
int main()
{
freopen("perle.in","r",stdin);
scanf("%d", &t);
for(j=1; j<=t; j++)
{
scanf("%d", &n);
for(i=1;i<=n;i++) scanf("%d", &a[i]);
g<<solve()<<"\n";
}
return 0;
}