Pagini recente » Cod sursa (job #3278872) | Cod sursa (job #2295739) | Cod sursa (job #2326308) | Cod sursa (job #573536) | Cod sursa (job #2123057)
#include <iostream>
#include <fstream>
#define For(i,a,b) for (int i=(a);i<=(b);++i)
using namespace std;
int v[10005],k,n;
ifstream f("perle.in");
ofstream g("perle.out");
int PerlaMagicaB(int);
int PerlaMagicaC(int);
int PerlaMagicaB(int i)
{
if (i<=k)
{
if (v[i]==2) return PerlaMagicaB(i+1);
else if (v[i]==1 && v[i+2]==3) return PerlaMagicaC(i+4);
}
return -1;
}
int PerlaMagicaC(int i)
{
if (i<=k)
{
if (v[i]==2) return i+1;
else if (v[i]==3) return PerlaMagicaC(PerlaMagicaB(i+1));
else if (v[i]==1 && v[i+1]==2) return i+3;
}
return -1;
}
int main()
{
f>>n;
For(i,1,n)
{
f>>k;
For(j,1,k)
{f>>v[j];}
if (k==1) g<<1<<"\n";
else g<<(PerlaMagicaB(1)==k+1 || PerlaMagicaC(1)==k+1)<<"\n";
}
return 0;
}