Pagini recente » Cod sursa (job #1451627) | Cod sursa (job #2567926) | Cod sursa (job #2170803) | Cod sursa (job #1380813) | Cod sursa (job #2628146)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
const int nmax = 10005;
int q, n, idx;
int v[nmax];
bool ok;
void b();
void c();
void b()
{
if(idx > n)
return;
if(v[idx] == 2)
{
++idx;
b();
}
else if(v[idx] == 1 && v[idx + 2] == 3)
{
idx += 4;
c();
}
else
ok = false;
}
void c()
{
if(idx > n)
return;
if(v[idx] == 2)
return;
else if(v[idx] == 1 && idx < n && v[idx + 1] == 2)
{
idx += 2;
return;
}
else if(v[idx] == 3)
{
++idx;
b();
++idx;
c();
}
else
ok = false;
}
int main()
{
cin >> q;
while(q--)
{
cin >> n;
for(int i = 1; i <= n; i++)
cin >> v[i];
if(n == 1)
{
cout << 1;
continue;
}
idx = 1;
ok = true;
if(v[idx] == 1)
{
if(n == 3)
c();
else
b();
}
else if(v[idx] == 2)
b();
else
c();
if(idx != n)
ok = false;
cout << ok << "\n";
}
return 0;
}