Pagini recente » Cod sursa (job #911178) | Cod sursa (job #1274690) | Cod sursa (job #2791297) | Cod sursa (job #2733431) | Cod sursa (job #3235053)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int t, n, i, a[10002];
static inline bool Calc(string c) {
for(int i = 0; i < c.size(); i++) {
if(c[i] == 'A') c[i] = a[i] + '0';
else if(c[i] == 'B') {
c.erase(i, 1);
if(a[i] == 1) c.insert(i, "1A3AC");
else if(a[i] == 2) c.insert(i, "2B");
}
else if(c[i] == 'C') {
c.erase(i, 1);
if(a[i] == 1) c.insert(i, "12A");
else if(a[i] == 2) c.insert(i, "2");
else if(a[i] == 3) c.insert(i, "3BC");
}
if(a[i] + '0' != c[i]) return false;
if(c.size() > n) return false;
}
return (c.size() == n);
}
int main() {
fin >> t;
while(t--) {
fin >> n;
for(i = 0; i < n; i++) fin >> v[i];
if(n == 1) fout << "1\n";
else if(Calc("B")) fout << "1\n";
else if(Calc("C")) fout << "1\n";
else fout << "0\n";
}
return 0;
}