Pagini recente » Cod sursa (job #3290714) | Cod sursa (job #1994417) | Cod sursa (job #1174530) | Cod sursa (job #217439) | Cod sursa (job #2702344)
#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 rec(int idx, int p){
if(p == 2){
if(v[idx] == 2)
rec(++idx, 2);
else if(v[idx] == 1 && v[idx + 2] == 3 && idx + 4 < l)
rec(idx + 4, 3);
else if(v[idx] == 1 && v[idx + 2] == 3 && v[idx + 4] == 2 && idx + 4 == l)
ok = true;
} else {
if(v[idx] == 3){
rec(++idx, 2);
rec(idx, 3);
} else if(v[idx] == 1 && v[idx + 1] == 2 && idx + 2 == l)
ok = true;
else if(idx == l && v[idx] == 2)
ok = true;
}
}
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)
rec(1, 2);
else if(v[1] == 3)
rec(1, 3);
else if(l == 3)
rec(1, 3);
else
rec(1, 2);
cout << ok << "\n";
}
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i++)
solve();
return 0;
}