Pagini recente » Cod sursa (job #164345) | Cod sursa (job #531231) | Cod sursa (job #145742) | Monitorul de evaluare | Cod sursa (job #1583325)
#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 n+5;
if(a[i]==2) return SolveB(i+1);
if(a[i]==1 && a[i+2]==3) return SolveC(i+4);
return n+5;
}
int SolveC(int i)
{
if(i > n) return n+5;
if(a[i]==2) return i;
if(a[i]==1 && a[i+1]==2) return i+2;
if(a[i]==3) return SolveC(SolveB(i+1)+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;
}