Pagini recente » Statistici Petru Lazar (LazarPetru) | Cod sursa (job #2275489) | Cod sursa (job #180345) | Cod sursa (job #1768960) | Cod sursa (job #2371040)
#include <iostream>
#include <stdio.h>
#define NMAX 10001
int s [ NMAX + 1 ] ;
using namespace std;
int a ( int pointer ) ;
int b ( int pointer ) ;
int c ( int pointer ) ;
int a (int pointer ) {
return pointer + 1 ;
}
int b (int pointer) {
if (s[pointer] == 2 )
return b (pointer + 1) ;
if (s[pointer] == 1 && s[pointer + 2] == 3 )
return c (pointer + 4) ;
return pointer + 10 ;
}
int c (int pointer) {
if (s[pointer] == 2 )
return pointer + 1 ;
if (s[pointer] == 3 )
return c(b(pointer+1)) ;
if (s[pointer] == 1 && s[pointer+1] == 2 )
return a(pointer+2) ;
return pointer + 10 ;
}
int main() {
FILE *fin, *fout ;
fin = fopen ("perle.in", "r" ) ;
fout = fopen ("perle.out", "w" ) ;
int n, i, t ;
fscanf (fin, "%d", &t) ;
while (t > 0 ) {
fscanf (fin, "%d", &n ) ;
for (i = 1 ; i <= n ; i++ )
fscanf (fin, "%d", &s[i] ) ;
if (a(1) == n+1 || b(1) == n+1 || c(1) == n+1 )
fprintf (fout, "1\n") ;
else
fprintf (fout, "0\n") ;
t--;
}
return 0;
}