Pagini recente » Cod sursa (job #370261) | Monitorul de evaluare | Cod sursa (job #2355257) | Cod sursa (job #62553) | Cod sursa (job #652199)
Cod sursa(job #652199)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int v[10005] , N , T , x;
int C(int i);
int B(int i)
{
if(i > N + 1) return i;
if(v[i] == 2) return B(i + 1);
if(v[i] == 1 && v[i+2] == 3) return C(i + 4);
return N + 2;
}
int C(int i)
{
if(i > N + 1) return i;
if(v[i] == 2) return i + 1;
if(v[i] == 3) return C(B(i + 1));
if(v[i] == 1 && v[i+1] == 2) return i + 3;
return N + 2;
}
int main()
{
for(fin>>T;T;T--)
{
fin>>N;
for(int i = 1;i<=N;++i)
fin>>v[i];
if(N == 1)
fout<<1<<'\n';
else
{
x = B(1);
if(x != N + 1) x = C(1);
if(x == N + 1) fout<<1<<'\n'; else fout<<0<<'\n';
}
}
return 0;
}