Pagini recente » Cod sursa (job #3030730) | Cod sursa (job #1298311)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 10010, INF = 0x3f3f3f3f;
int T, N, V[NMAX];
int B(int Pos);
int C(int Pos);
int B(int Pos)
{
if(Pos > N + 1) return INF;
if(V[Pos] == 2) return B(Pos + 1);
if(V[Pos] == 1 && V[Pos + 2] == 3) return C(Pos + 4);
return INF;
}
int C(int Pos)
{
if(Pos > N + 1) return INF;
if(V[Pos] == 2) return Pos + 1;
if(V[Pos] == 3) return C(B(Pos + 1));
if(V[Pos] == 1 && V[Pos + 1] == 2) return Pos + 3;
return INF;
}
int main()
{
freopen("perle.in", "r", stdin);
freopen("perle.out", "w", stdout);
scanf("%i", &T);
for(; T; T --)
{
scanf("%i", &N);
for(int i = 1; i <= N; ++ i) scanf("%i", &V[i]);
if(N == 1 || B(1) == N + 1 || C(1) == N + 1) printf("1\n");
else printf("0\n");
}
}