Pagini recente » Cod sursa (job #235696) | Cod sursa (job #95577) | Cod sursa (job #1891835) | Cod sursa (job #1887000) | Cod sursa (job #2205289)
#include <cstdio>
int solveB(int pos, int x[]);
int solveC(int pos, int x[]);
int solveB(int pos, int x[]) {
if (x[pos] == 1 && x[pos + 2] == 3)
return solveC(pos + 4, x);
if (x[pos] == 2)
return solveB(pos + 1, x);
return 0;
}
int solveC(int pos, int x[]) {
if (x[pos] == 2)
return pos + 1;
if (x[pos] == 3)
return solveC(solveB(pos + 1, x), x);
if (x[pos] == 1 && x[pos + 1] == 2)
return pos + 3;
return 0;
}
int main() {
freopen("perle.in", "r", stdin);
freopen("perle.out", "w", stdout);
int n;
scanf("%d", &n);
while (n--) {
int k, x[2 + 10000];
scanf("%d", &k);
for (int i = 1; i <= k; i++)
scanf("%d", &x[i]);
if (k == 1 || solveB(1, x) == k + 1 || solveC(1, x) == k + 1)
printf("1\n");
else
printf("0\n");
}
return 0;
}