Pagini recente » Cod sursa (job #2039271) | Cod sursa (job #1960934) | Cod sursa (job #2708438) | Cod sursa (job #2695256) | Cod sursa (job #920552)
Cod sursa(job #920552)
#include<cstdio>
#define In "perle.in"
#define Out "perle.out"
#define N 10004
using namespace std;
int n;
int a[N];
inline int B(int i);
inline int C(int i);
inline void Rez()
{
if(n==1)
{
printf("1\n");
return ;
}
if(C(1)==n || B(1)==n)
{
printf("1\n");
return ;
}
printf("0\n");
}
int main()
{
int i,k;
freopen(In,"r",stdin);
freopen(Out,"w",stdout);
scanf("%d",&k);
while(k)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
Rez();
k--;
}
return 0;
}
inline int B(int i)
{
if(i>n)
return 0;
if(a[i]==2)
return B(i+1);
if(a[i]==1 && a[i+2]==3)
return C(i+4);
return 0;
}
inline int C(int i)
{
if(i>n)
return 0;
if(a[i]==2)
return i;
if(a[i]==3)
{
int k;
k = B(i+1);
if(k)
return C(k+1);
}
if(a[i]==1 && a[i+1]==2)
return i+2;
return 0;
}