Pagini recente » Cod sursa (job #85645) | Cod sursa (job #1097225) | Cod sursa (job #2107784) | Cod sursa (job #2267818) | Cod sursa (job #2702349)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
const int lmax = 1e4 + 1;
int l, v[lmax];
bool ok;
void b(int idx);
void c(int idx);
void b(int idx){
if(idx > l)
return;
if(v[idx] == 2)
b(++idx);
else if(v[idx] == 1 && v[idx + 2] == 3 && idx + 2 < l)
c(idx + 4);
else{
ok = true;
return;
}
}
void c(int idx){
if(idx > l)
return;
if(v[idx] == 2){
ok = true;
return;
} else if(v[idx] == 1 && v[idx + 1] == 2 && idx + 2 == l){
ok = true;
return;
} else if(v[idx] == 3){
b(++idx);
c(++idx);
}
}
void solve(){
cin >> l;
for(int i = 1; i <= l; i++)
cin >> v[i];
if(l == 1)
{cout << "1\n"; return;}
ok = false;
if(v[1] == 2)
b(1);
else if(v[1] == 3)
c(1);
else if(v[1] == 1 && l == 3)
c(1);
else if(v[1] == 1)
b(1);
cout << ok << "\n";
}
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i++)
solve();
return 0;
}