Pagini recente » Cod sursa (job #939255) | Cod sursa (job #2191983) | Cod sursa (job #231211) | Cod sursa (job #1143050) | Cod sursa (job #2397028)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int v[15], n, T, k, ok;
void A();
void B();
void C();
void A()
{
if(k == n+1) ok = 0;
k++;
}
void B()
{
if(k == n+1) ok = 0;
if(v[k] == 2 && k != n) k++, B();
else if(v[k] == 1 && v[k+2] == 3) k+=4, C();
}
void C()
{
if(k == n+1) ok = 0;
if(v[k] == 2) k++;
else if(v[k] == 3) k++, B(), C();
else if(v[k] == 1 && v[k+1] == 2) k+=2, A();
}
void getStart()
{
if(n == 1) A();
else if(v[1] == 2 || (v[1] == 1 && n != 3)) B();
else C();
}
int main()
{
f >> T;
while(T--)
{
f >> n;
k = ok = 1;
for(int i=1; i<=n; i++) f >> v[i];
getStart();
if(k == n+1 && ok) g << 1 << '\n';
else g << 0 << '\n';
}
return 0;
}