Pagini recente » Cod sursa (job #1238665) | Cod sursa (job #2937432) | Cod sursa (job #811149) | Cod sursa (job #3001918) | Cod sursa (job #2102797)
#include <cstdio>
const int MAXN = 1e4;
int s[MAXN + 3];
int C(int cursor);
int B(int cursor) {
if (s[cursor] == 2) {
B(cursor + 1);
} else if (s[cursor] == 1 && s[cursor + 2] == 3) {
C(cursor + 4);
} else {
return -1;
}
}
int C(int cursor) {
if (s[cursor] == 2) {
return cursor + 1;
} else if (s[cursor] == 3) {
C(B(cursor + 1));
} else if (s[cursor] == 1 && s[cursor + 1] == 2) {
return cursor + 3;
} else {
return -1;
}
}
int main() {
int t, n, cursor;
FILE *fin = fopen("perle.in", "r");
fscanf(fin, "%d", &t);
FILE *fout = fopen("perle.out", "w");
for (; t > 0; --t) {
fscanf(fin, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(fin, "%d", &s[i]);
}
fprintf(fout, "%d\n", (n == 1 || B(0) == n || C(0) == n) ? 1 : 0);
}
fclose(fin);
fclose(fout);
return 0;
}