Pagini recente » Cod sursa (job #2717846) | Cod sursa (job #2430302) | Cod sursa (job #2756486) | Cod sursa (job #1118909) | Cod sursa (job #2815981)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int t, n;
int a[10010];
int solveC(int i);
int solveB(int i)
{
if (i > n)
return n + 5;
if (a[i] == 2)
return solveB(i + 1);
if (a[i] == 1 && a[i + 2] == 3)
return solveC(i + 4);
return n + 5;
}
int solveC(int i)
{
if (i > n)
return n + 5;
if (a[i] == 2)
return i;
if (a[i] == 1 && a[i + 1] == 2)
return i + 2;
if (a[i] == 3)
return solveC(solveB(i + 1) + 1);
return n + 5;
}
int main()
{
fin >> t;
while (t--)
{
fin >> n;
for (int i = 1; i <= n; i++)
{
fin >> a[i];
}
if (n == 1)
fout << 1 << "\n";
else if (solveC(1) == n || solveB(n) == n)
fout << 1 << "\n";
else
fout << 0 << "\n";
}
return 0;
}