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