Pagini recente » Cod sursa (job #3030038) | Cod sursa (job #880443) | Cod sursa (job #1253647) | Cod sursa (job #2120812) | Cod sursa (job #2677186)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("perle.in");
ofstream fout ("perle.out");
const int MAXN = 10023;
long long t, n, a[MAXN];
int gasesteB(int ind);
int gasesteC(int ind);
int gasesteB(int ind)
{
///2B
if(a[ind] == 2)
return gasesteB(ind+1);
///1A3AC
if(a[ind] == 1 && a[ind+2] == 3)
return gasesteC(ind+4);
return 0;
}
int gasesteC(int ind)
{
///2
if(a[ind] == 2)
return ind+1;
///3BC
if(a[ind] == 3)
return gasesteC(gasesteB(ind+1));
///12A
if(a[ind] == 1 && a[ind+1] == 2)
return ind+3;
return 0;
}
int main()
{
fin >> t;
while(t--)
{
fin >> n;
for(int i = 0; i < n; i++)
fin >> a[i];
fout <<(n == 1 || n == gasesteB(0) || n == gasesteC(0)) << "\n";
}
return 0;
}