Pagini recente » Cod sursa (job #2300495) | Cod sursa (job #76975) | Cod sursa (job #496641) | Cod sursa (job #1066759) | Cod sursa (job #1850019)
#include <bits/stdc++.h>
using namespace std;
int i, t, n, c[10005];
int SolveC(int);
int SolveB(int);
int main()
{
ifstream cin("perle.in");
ofstream cout("perle.out");
ios_base::sync_with_stdio(0);
for(cin >> t; t; --t) {
cin >> n;
for(i = 1; i <= n; ++i) cin >> c[i];
if(n == 1) cout << "1\n";
else if(SolveB(1) == n || SolveC(1) == n) cout << "1\n";
else cout << "0\n";
}
return 0;
}
int SolveC(int poz) {
if(poz > n) return 0;
if(c[poz] == 2) return poz;
if(c[poz] == 1 && c[poz + 1] == 2) return poz + 2;
if(c[poz] == 3) {
int pz = SolveB(poz + 1);
if(!pz) return 0;
return SolveC(pz + 1);
}
return 0;
}
int SolveB(int poz) {
if(poz > n) return 0;
if(c[poz] == 2) return SolveB(poz + 1);
if(c[poz] == 1 && c[poz + 2] == 3) return SolveC(poz + 4);
return 0;
}