Pagini recente » Cod sursa (job #2377938) | Cod sursa (job #2642600) | Cod sursa (job #2940330) | Cod sursa (job #69084) | Cod sursa (job #2183704)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
const int N=100000;
int test;
int n,v[N+5];
int p;
bool gresit;
void A();
void B();
void C();
void A(){
if(gresit==1)
return;
p++;
}
void B(){
if(gresit==1)
return;
if(v[p]==2){
p++;
B();
return;
}
if(v[p]==1){
p++;
A();
if(v[p]!=3){
gresit=1;
return;
}
p++;
A();
C();
return;
}
gresit=1;
}
void C(){
if(gresit==1)
return;
if(v[p]==2){
p++;
return;
}
if(v[p]==3){
p++;
B();
C();
return;
}
if(v[p]==1){
p++;
if(v[p]!=2){
gresit=1;
return;
}
p++;
A();
}
}
int main(){
fin>>test;
while(test--){
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
v[n+1]=0;
p=1;gresit=0;A();if(p==n+1 && gresit==0){fout<<"1\n";continue;}
p=1;gresit=0;B();if(p==n+1 && gresit==0){fout<<"1\n";continue;}
p=1;gresit=0;C();if(p==n+1 && gresit==0){fout<<"1\n";continue;}
fout<<"0\n";
//fout<<"\n";
}
return 0;
}
/**
**/