Pagini recente » Cod sursa (job #370842) | Cod sursa (job #1075253) | Cod sursa (job #2543757) | Cod sursa (job #1714468) | Cod sursa (job #632413)
Cod sursa(job #632413)
#include <stdio.h>
#define NMAX 10002
int A[NMAX], m, n;
int C(int pos);
int B(int pos)
{
if (pos > n + 1)
return pos;
if (A[pos] == 2)
return B(pos+1);
if (A[pos] == 1 && A[pos+2] == 3)
return C(pos+4);
return n+2;
}
int C(int pos)
{
if (A[pos] == 2)
return pos+1;
if (A[pos] == 1 && A[pos+1] == 2)
return pos + 3;
if (A[pos] == 3)
return C(B(pos+1));
return n+2;
}
int main()
{
freopen("perle.in", "r", stdin);
freopen("perle.out", "w", stdout);
scanf("%d", &m);
int i, result;
while (m--) {
scanf("%d", &n);
for (i=1; i<=n; ++i)
scanf("%d", &A[i]);
if (n == 1)
result = 1;
else {
result = B(1);
if (result != n+1)
result = C(1);
if (result == n+1)
result = 1;
else
result = 0;
}
printf("%d\n", result);
}
return 0;
}