Pagini recente » Cod sursa (job #1343507) | Cod sursa (job #1688481) | Cod sursa (job #2711686) | Cod sursa (job #458307) | Cod sursa (job #2659189)
#include <fstream>
using namespace std;
ifstream fin ("perle.in");
ofstream fout ("perle.out");
int v[10101],k;
int okB (int poz);
int okC (int poz);
int okB (int poz)
{
if (poz>k)
{
return 0;
}
if (v[poz]==2)
{
return okB(poz+1);
}
if (v[poz]==1 && v[poz+2]==3 && poz+3<=k)
{
return okC(poz+4);
}
return 0;
}
int okC (int poz)
{
if (poz>k)
{
return 0;
}
if (v[poz]==2)
{
return poz+1;
}
if (v[poz]==3)
{
poz=okB(poz+1);
if (poz>0 && poz<=k)
{
return okC(poz);
}
}
if (v[poz]==1 && v[poz+1]==2 && poz+2<=k)
{
return poz+3;
}
return 0;
}
int main()
{
int n,i,j;
fin>>n;
for (i=1;i<=n;i++)
{
fin>>k;
for (j=1;j<=k;j++)
{
fin>>v[j];
}
if (okB(1)>k || okC(1)>k || k==1)
fout<<"1";
else
fout<< "0";
fout<<'\n';
}
return 0;
}