Pagini recente » Cod sursa (job #1155981) | Cod sursa (job #1217713) | Istoria paginii runda/simulare_oji_2011 | Cod sursa (job #2023549) | Cod sursa (job #880828)
Cod sursa(job #880828)
#include<cstdio>
#define MAX_SIZE 10005
FILE *f=fopen("perle.in","r");
FILE *g=fopen("perle.out","w");
using namespace std;
int n,v[MAX_SIZE],q;
int C(int numb);
inline int B ( int numb )
{
if( numb > q )
return 0;
if( v[numb] == 2 )
return B(numb+1);
else
if( v[numb] == 1 && v[numb+2] == 3 )
return C (numb+4);
return 0;
}
inline int C ( int numb )
{
if( numb > q)
return 0;
else
if(v[numb] == 2 )
return numb;
else
if(v[numb] == 3 )
{
int k=B(numb+1);
if(k)
return C(k+1);
}
else
if(v[numb] == 1 && v[numb+1] == 2)
return numb+2;
return 0;
}
int read( void )
{
fscanf(f,"%d",&n);
while( n )
{
fscanf(f,"%d",&q);
for(int index(1); index <= q; ++index)
fscanf(f,"%d",&v[index]);
if( q == 1 )
fprintf(g,"1\n");
else
if( B(1) == q || C(1) == q)
fprintf(g,"1\n");
else
fprintf(g,"0\n");
n--;
}
}
int main( void )
{
read();
return 0;
}