Pagini recente » Cod sursa (job #1054495) | Cod sursa (job #3149789) | Cod sursa (job #2941121) | Cod sursa (job #1143282) | Cod sursa (job #3196626)
#include <bits/stdc++.h>
#define DIM 10000
using namespace std;
//ifstream f("in.in");
//ofstream g("out.out");
ifstream f("perle.in");
ofstream g("perle.out");
int t,n;
bool sol;
int idx;
int s[DIM+20];
bool A();
bool B();
bool C();
bool A(){
idx++;
return 1;
}
bool B(){
bool ok = 1;
if(s[idx] == 1){
ok &= (s[idx] == 1);
idx++;
ok &= A();
ok &= (s[idx] == 3);
idx++;
ok &= A();
ok &= C();
}else if(s[idx] == 2){
ok &= (s[idx] == 2);
idx++;
ok &= B();
}else if(s[idx] == 3){
ok = 0;
}
return ok;
}
bool C(){
bool ok = 1;
if(s[idx] == 1){
ok &= (s[idx] == 1);
idx++;
ok &= (s[idx] == 2);
idx++;
ok &= A();
}else if(s[idx] == 2){
ok &= (s[idx] == 2);
idx++;
}else if(s[idx] == 3){
ok &= (s[idx] == 3);
idx++;
ok &= B();
ok &= C();
}
return ok;
}
void solve(){
f>>n;
for(int i=1;i<=n;i++){
f>>s[i];
}
sol = 0;
idx = 1;
sol |= (A() && idx == n+1);
idx = 1;
sol |= (B() && idx == n+1);
idx = 1;
sol |= (C() && idx == n+1);
g<<sol<<'\n';
}
int main(){
f>>t;
while(t--){
solve();
}
return 0;
}