Pagini recente » Cod sursa (job #412493) | Cod sursa (job #2530570) | Cod sursa (job #1529797) | Cod sursa (job #1103227) | Cod sursa (job #2567086)
#include <fstream>
#include <string>
#include <vector>
#include <iostream>
#include <set>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int n, l, j, s[10005];
bool ok;
void b();
void c();
void b() {
if(j > l) return;
if(s[j] == 2) {
j++;
b();
} else if(s[j] == 1 && s[j+2] == 3) {
j += 4;
c();
} else ok = false;
}
void c() {
if(s[j] == 2) return;
if(s[j] == 1 && s[j+1] == 2) {
j += 2;
return;
} else if(s[j] == 3) {
j++;
b();
j++;
c();
} else ok = false;
}
int main() {
fin >> n;
while(n--) {
fin >> l;
ok = true;
for(int i = 1; i <= l; i++)
fin >> s[i];
if(l == 1) {
fout << true << '\n';
continue;
}
j = 1;
if(s[j] == 1) {
if(l == 3)
c();
else
b();
} else if(s[j] == 2)
b();
else
c();
if(j != l) ok = false;
fout << ok << '\n';
}
}