Pagini recente » Cod sursa (job #895556) | Cod sursa (job #2721906) | Cod sursa (job #2765430) | Cod sursa (job #1808691) | Cod sursa (job #2927147)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int v[10005];
int n;
int poz=1;
int sir_size;
int a();
int b();
int c();
int a()
{
if(poz>sir_size)
return 0;
if(v[poz]==1 || v[poz]==2 || v[poz]==3)
{
poz++;return 1;
}
else
return 0;
}
int b()
{
if(poz>sir_size)
return 0;
if(v[poz]==2)
{
poz++;return b();
}
if(v[poz]==1)
{
poz++;
int q = a();
if(v[poz]!=3)
return 0;
poz++;
q=a();
if(!q)
return 0;
return c();
}
}
int c()
{
if(poz>sir_size)
{
return 0;
}
if(v[poz]==2)
{
poz++;
return 1;
}
if(v[poz]==1)
{
poz++;
if(v[poz]!=2)
{
poz++;
return 0;
}
poz++;
return a();
}
int q;
poz++;
q=b();
if(!q)
return 0;
return c();
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>sir_size;
for(int j=1;j<=sir_size;j++)
{
fin>>v[j];
}
poz=1;
if(a() && poz>sir_size){
fout<<1<<"\n";
continue;
}
poz=1;
if(b() && poz>sir_size)
{
fout<<1<<"\n";
continue;
}
poz=1;
if(c() && poz>sir_size)
{
fout<<1<<"\n";
continue;
}
fout<<0<<"\n";
}
}