Pagini recente » Cod sursa (job #3151380) | Cod sursa (job #17807) | Cod sursa (job #729422) | Cod sursa (job #2712936) | Cod sursa (job #735983)
Cod sursa(job #735983)
#include <fstream>
using namespace std;
const int N=10009;
int v[N],n,D;
char s[3*N];
ifstream in("perle.in");
ofstream out("perle.out");
int B(int),C(int);
int B(int x)
{
if (x>n)
return 0;
if (v[x]==2)
return B(x+1);
if (x+3<n && v[x]==1 && v[x+2]==3)
return C(x+4);
return 0;
}
int C(int x)
{
if (x+1<n && v[x]==1 && v[x+1]==2)
return x+3;
if (v[x]==2)
return x+1;
if (v[x]!=3)
return 0;
x=B(x+1);
if (!x)
return 0;
return C(x);
}
bool rez()
{
if (n<3)
return n==1;
return B(1)>=n || C(1)>=n;
}
int main()
{
int t,x;
in>>t;
while (t--)
{
in>>n;
for (int i=1;i<=n;i++)
in>>v[i];
out<<rez()<<"\n";
}
return 0;
}