Pagini recente » Cod sursa (job #1491368) | Cod sursa (job #1150926) | Cod sursa (job #2918204) | Cod sursa (job #1058931) | Cod sursa (job #2435925)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("perle.in");
ofstream out("perle.out");
int n, l, a[10005];
bool c(int &t);
bool b(int &t)
{
if(a[t]==2 && l-t>4)return b(++t);
else if(a[t]==1 && l-t>=4 && a[t+2]==3)
{
return c(t+=4);
}
else return 0;
}
bool c(int &t)
{
if(l-t>=0 && a[t]==2) return 1;
else if(l-t>5 && a[t]==3)
{
return min(b(++t),c(++t));
}
else if(l-t>=2 && a[t]==1 && a[t+1]==2)return 1;
else return 0;
}
int main()
{
in>>n;
int p;
for(int i=1;i<=n;i++)
{
in>>l;
for(int j=1;j<=l;j++)
{
in>>a[j];
}
p=1;
if(l==1)
out<<1;
else if(l==3 || (l>6 && a[1]==3))
out<<c(p);
else if((a[1]==2 && l>5) || (a[1]==1 && l>4))out<<b(p);
else out<<0;
out<<'\n';
}
return 0;
}