Pagini recente » Cod sursa (job #2525161) | Cod sursa (job #2719550) | Cod sursa (job #3163245) | Cod sursa (job #1200810) | Cod sursa (job #3239729)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int t,n,k,v[10010];
bool A(),B(),C(),ok;
bool A(){
if(k==n+1)
return 0;
k++;
return 1;
}
bool B(){
if(k==n+1)
return 0;
if(v[k]==2){
k++;
return B();
}else if(v[k]==1){
k++;
if(A()&&v[k]==3){
k++;
if(A())
return C();
}
}
return 0;
}
bool C(){
if(k==n+1)
return 0;
if(v[k]==2){
k++;
return 1;
}else if(v[k]==3){
k++;
if(B())
return C();
}else{
k++;
if(v[k]==2){
k++;
return A();
}
}
return 0;
}
int main()
{
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
ok=0;
k=1;
if(A()&&k==n+1)
ok=1;
k=1;
if(B()&&k==n+1)
ok=1;
k=1;
if(C()&&k==n+1)
ok=1;
cout<<ok<<'\n';
}
return 0;
}