Pagini recente » Cod sursa (job #2878202) | Cod sursa (job #2420594) | Cod sursa (job #2846203) | Cod sursa (job #238332) | Cod sursa (job #2121423)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int n, v[10005], t;
int B(int);
int C(int);
int B(int it)
{
if(it <= t)
{
if(v[it] == 2) return B(it+1);
else if(v[it] == 1 && v[it+2] == 3)
return C(it+4);
}
return -1;
}
int C(int it)
{
if(it <= t)
{
if(v[it] == 2) return it+1;
else if(v[it] == 3) return C(B(it+1));
else if(v[it] == 1 && v[it+1] == 2) return it+3;
}
return -1;
}
int main()
{
f >> n;
for(int i = 1; i <= n; ++i)
{
f >> t;
for(int i = 1; i <= t; ++i)
f >> v[i];
if(t == 1) g << 1 << "\n";
else
g << (B(1) == t+1 || C(1) == t+1) << "\n";
}
}