Pagini recente » Cod sursa (job #647809) | Cod sursa (job #114366) | Cod sursa (job #1173305) | Cod sursa (job #2968841) | Cod sursa (job #2926477)
#include <fstream>
using namespace std;
ifstream fin ("perle.in");
ofstream fout ("perle.out");
int a();
int b();
int c();
int n,t,i,s,ii,v[10005];
int a()
{
if (i==n+1)
return 0;
if (v[i]==1||v[i]==2||v[i]==3)
{
i++;
return 1;
}
else
return 0;
}
int b ()
{
if (i==n+1)
return 0;
if (v[i]==2)
{
i++;
return b();
}
if (v[i]==1)
{
i++;
int suma=a();
if (suma==0)
return 0;
if (v[i]!=3)
return 0;
i++;
suma=a();
if (suma==0)
return 0;
return c();
}
else
return 0;
}
int c()
{
if (i==n+1)
return 0;
if (v[i]==2)
{
i++;
return 1;
}
else if (v[i]==1)
{
i++;
if (v[i]!=2)
{
i++;
return 0;
}
else
{
i++;
return a();
}
}
else
{
i++;
int suma=b();
if (suma==0)
return 0;
return c();
}
}
int main()
{
fin>>t;
for (ii=1; ii<=t; ii++)
{
fin>>n;
for (i=1; i<=n; i++)
fin>>v[i];
i=1;
s=a();
if (s==1&&i==n+1)
{
fout<<"1\n";
continue;
}
i=1;
s=b();
if (s==1&&i==n+1)
{
fout<<"1\n";
continue;
}
i=1;
s=c();
if (s==1&&i==n+1)
{
fout<<"1\n";
continue;
}
fout<<"0\n";
}
return 0;
}