Pagini recente » Cod sursa (job #441561) | Cod sursa (job #1733615) | Cod sursa (job #979822) | Istoria paginii runda/lot2010mixt/clasament | Cod sursa (job #2371151)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int t,n,k,v[10010],A(),B(),C(),i,verif;
int A(){
if(v[k]==1||v[k]==2||v[k]==3){
k++;
return 1;
}
return 0;
}
int B(){
if(v[k]==2){
k++;
return B();
}
if(v[k]==1){
k++;
if(A()){
if(v[k]==3){
k++;
if(A()){
return C();
}
}
}
}
return 0;
}
int C(){
if(v[k]==2){
k++;
return 1;
}
if(v[k]==3){
k++;
if(B()){
if(C()){
return 1;
}
}
}
if(v[k]==1&&v[k+1]==2){
k+=2;
if(A()){
return 1;
}
}
return 0;
}
int main(){
fin>>t;
for(;t--;){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
k=1;
verif=A();
if(verif&&k==n+1){
fout<<"1\n";
continue;
}
k=1;
verif=B();
if(verif&&k==n+1){
fout<<"1\n";
continue;
}
k=1;
verif=C();
if(verif&&k==n+1){
fout<<"1\n";
continue;
}
fout<<"0\n";
}
return 0;
}