Pagini recente » Cod sursa (job #315822) | Cod sursa (job #1459272) | Cod sursa (job #3162862) | Cod sursa (job #2160974) | Cod sursa (job #940665)
Cod sursa(job #940665)
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
bool B(int * p),C(int * p);
int m,n,aux[100005];
int main()
{
f>>n;
for(int i=0;i<n;i++)
{
f>>m;
if(m==1)
g<<1;//M
else
{
for(int j=0;j<m;j++)
f>>aux[j];
if(*aux==2)
{
if(B(aux+1))
g<<1;//BB
else
g<<0;//01
}
else
{
if(C(aux))
g<<1;//C
else if(B(aux))
g<<1;//B
else
g<<0;//0
}
}
g<<'\n';
}
f.close();
g.close();
return 0;
}
bool B(int * p)
{
if(*p==2)
{
p++;
return B(p);
}
else if(*p==1&&p[2]==3)
{
p+=4;
return C(p);
}
return false;
}
bool C(int * p)
{
if(*p==2)
{
return true;
}
else if(*p==3)
{
p++;
if(B(p))
{
p++;
return C(p);
}
}
else if(*p==1&&p[1]==2)
return true;
return false;
}