Pagini recente » Cod sursa (job #2473804) | Cod sursa (job #1906570) | Cod sursa (job #2730239) | Cod sursa (job #2876330) | Cod sursa (job #1168834)
#include <fstream>
#include <string>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int poz,n,a[100010],t,i,x;
bool adB();
inline bool adC()
{
if(poz>n)
return 0;
if(a[poz]==2)
{
poz++;
return 1;
}
if(a[poz]==1&&a[poz+1]==2&&poz+2<=n)
{
poz+=3;
return 1;
}
if(a[poz]==3)
return adB()&&adC();
return 0;
}
inline bool adB()
{
if(poz>n)
return 0;
if(a[poz]==2)
{
poz++;
return adB();
}
if(a[poz]==1&&a[poz+2]==3)
{
poz+=4;
return adC();
}
return 0;
}
int main()
{
fin>>t;
for(;t;t--)
{
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
poz=1;
if(n==1)
{
fout<<"1\n";
continue;
}
if((n>=5&&a[1]==1&&a[3]==3)||a[1]==2)
{
fout<<adB()<<'\n';
continue;
}
fout<<adC()<<'\n';
}
return 0;
}