Pagini recente » Cod sursa (job #2039819) | Cod sursa (job #2726749) | Cod sursa (job #899546) | Cod sursa (job #1829973) | Cod sursa (job #1492249)
#include <fstream>
#include <string>
#include <cstring>
#define max(a, b), (a>b)? a:b
using namespace std ;
ifstream f("perle.in") ;
ofstream g("perle.out") ;
int n,i,j,s[10005],a;
int C();
int B()
{
if(i>n) return 0;
if(s[i]==2)
{
++i;
return B();
}
if(s[i]==1 && s[i+2]==3)
{
i=i+4;
return C();
}
return 0;
}
int C()
{
if(i>a) return 0 ;
if(s[i]==2)
{
++i;
return 1;
}
if(s[i]==3)
{
++i;
if(B()) return C();
}
if(s[i]==1 && s[i+1]==2 && i+2<=a)
{
i=i+3;
return 1;
}
return 0;
}
int main()
{
f>>n;
for (j=1; j<=n; j++)
{
f>>a;
for(i=1; i<=a; i++)
f>>s[i];
i=1;
if(a==1)
{
g<<1<<"\n";
}
else if(s[1]==2 || (s[1]==1 && s[3]==3 && a>=5))
g<<B()<<"\n";
else g<<C()<<"\n";
}
return 0;
}