Pagini recente » Cod sursa (job #1532546) | Cod sursa (job #1353402) | Cod sursa (job #3204818) | Cod sursa (job #2973443) | Cod sursa (job #3196940)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int i,n,t,A(),B(),C(),v[10001];
/// A - 1, 2, 3 B - 2B, 1A3AC C - 2, 3BC, 12A
int A(){
if(i==n+1)
return 0;
else if(v[i]==1||v[i]==2||v[i]==3){
i++;
return 1;
}else
return 0;
}
int B(){
if(i==n+1)
return 0;
else if(v[i]==2){
i++;
return B();
}else if(v[i]==1){
i++;
int ok=A();
if(ok==0)
return 0;
if(v[i]!=3)
return 0;
i++;
ok=A();
if(ok==0)
return 0;
return C();
}
}
int C(){
if(i==n+1)
return 0;
else if(v[i]==2){
i++;
return 1;
}else if(v[i]==3){
i++;
int ok=B();
if(ok==0)
return 0;
return C();
}else if(v[i]==1){
i++;
if(v[i]!=2)
return 0;
i++;
return A();
}
}
int main()
{
cin>>t;
while(t--){
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
i=1;
if(A()==1&&i==n+1){
cout<<"1\n";
continue;
}
i=1;
if(B()==1&&i==n+1){
cout<<"1\n";
continue;
}
i=1;
if(C()==1&&i==n+1){
cout<<"1\n";
continue;
}
cout<<"0\n";
}
return 0;
}