Pagini recente » Cod sursa (job #1924978) | Cod sursa (job #911642) | Cod sursa (job #3280383) | Cod sursa (job #682834) | Cod sursa (job #2156403)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int n,t,i,v[10001];
int B(int i);
int C(int i);
int B(int i)
{
if(i+1<=n&&v[i]==2)
return B(i+1);
if(i+4<=n&&v[i]==1&&v[i+2]==3)
return C(i+4);
return -1;
}
int C(int i)
{
if(i+2<=n&&v[i]==3)
return C((B(i+1)));
if(i+2<=n&&v[i]==1&&v[i+1]==2)
return i+3;
if(i<=n&&v[i]==2)
return i+1;
return -1;
}
int main()
{
fin>>t;
while(t!=0)
{
fin>>n;
for(int k=1; k<=n; k++)
fin>>v[k];
if(n==0)
{
fout<<"0"<<endl;
t--;
continue;
}
if(n==1)
{
fout<<"1"<<endl;
t--;
continue;
}
if(B(1)==n+1||C(1)==n+1)
{
fout<<"1"<<endl;
t--;
continue;
}
else
{
fout<<"0"<<endl;
t--;
continue;
}
}
}