Pagini recente » Cod sursa (job #2647010) | Cod sursa (job #642697) | Cod sursa (job #1541071) | Cod sursa (job #55151) | Cod sursa (job #2985033)
#include<bits/stdc++.h>
using namespace std;
ifstream in("dir.in");
ofstream out("perle.out");
int i,n,t,v[10005];
bool A(),B(),C();
bool A(){
if(i>n)
return 0;
i++;
return 1;
}
bool B(){
if(i>n)
return 0;
if(v[i]==3){
i++;
return 0;
}
if(v[i]==2){
i++;
return B();
}
if(v[i]==1 && v[i+2]==3){
i++;
if(!A())
return 0;
i++;
return A() && C();
}
return 0;
}
bool C(){
if(i>n)
return 0;
if(v[i]==2){
i++;
return 1;
}
if(v[i]==1){
if(v[i+1]==2){
i=i+2;
return A();
}
return 0;
}
i++;
return B()&&C();
}
int main(){
int T;
in>>T;
for(int j=1;j<=T;j++){
in>>n;
for(int i=1;i<=n;i++)
in>>v[i];
i=1;
if(A() && i>n){
cout<<"1\n";
continue;
}
i=1;
if(B() and i>n){
cout<<"1\n";
continue;
}
i=1;
if(C() and i>n){
cout<<"1\n";
continue;
}
cout<<"0\n";
}
}