Pagini recente » Cod sursa (job #310312) | Cod sursa (job #1674218) | Cod sursa (job #1780161) | Cod sursa (job #1180796) | Cod sursa (job #1583294)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int T,n,a[11001];
const int A = 1;
const int B = 0;
int SolveC(int);
int SolveB(int i)
{
if(i>n) return 0;
if(a[i]==2) return SolveB(i+1);
if(i+4<=n && a[i]==1 && a[i+2]==3) return SolveC(i+4);
return n+5;
}
int SolveC(int i)
{
if(i<=n && a[i]==2) return i;
if(i+2<=n && a[i]==1 && a[i+1]==2) return i+2;
if(i+2<=n && a[i]==3) return SolveC(SolveB(i+1));
return n+5;
}
int main()
{
int i;
fin>>T;
while(T--)
{
fin>>n;
for(i = 1; i <= n; ++i) fin>>a[i];
if(n==1) fout<<A<<"\n";
else if(SolveC(1)==n || SolveB(1)==n) fout<<A<<"\n";
else fout<<B<<"\n";
}
fout.close();
return 0;
}