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