Pagini recente » Cod sursa (job #2668570) | Cod sursa (job #16729) | Cod sursa (job #15386) | Cod sursa (job #2195730) | Cod sursa (job #1011142)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int ind, n, i, ki;
int a();
int b();
int c();
int au[100];
int eval()
{
if(n==1)
return a();
if(au[ind]==2)
return b();
if(au[ind]==1 && au[ind+2]==3 && n>=5)
return b();
return c();
}
int a()
{
if(ind>n)
return 0;
ind++;
return 1;
}
int b()
{
if(au[ind]==2)
{
ind++;
return b();
}
if(au[ind]==1)
{
ind++;
if(a())
{
if(ind<=n)
if(au[ind]==3)
{
ind++;
if(a() && ind<=n)
return c();
}
}
}
return 0;
}
int c()
{
if(au[ind]==2)
return 1;
if(au[ind]==3)
{
ind++;
if(b())
{
return c();
}
}
if(au[ind]==1)
{
ind++;
if(au[ind]==2)
{
ind++;
return a();
}
}
return 0;
}
int main()
{
int t;
fin>>t;
for(ki=1;ki<=t;ki++)
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>au[i];
}
ind=1;
fout<<eval()<<"\n";
}
return 0;
}