Pagini recente » Cod sursa (job #827699) | Cod sursa (job #2287382) | Cod sursa (job #1245234) | Cod sursa (job #2507949) | Cod sursa (job #2533415)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int A(), B(), C();
int i,n,q,t,v[10005];
int main()
{
fin >> q;
for (t=1;t<=q;t++)
{
fin >> n;
for (i=1;i<=n;i++) fin >> v[i];
i=1;
if (A()==1 && i==n+1)
{
fout << 1 << "\n";
continue;
}
i=1;
if (B()==1 && i==n+1)
{
fout << 1 << "\n";
continue;
}
i=1;
if (C()==1 && i==n+1)
{
fout << 1 << "\n";
continue;
}
fout << 0 << "\n";
}
return 0;
}
int A()
{
if (i==n+1) return 0;
if (v[i]>=1 && v[i]<=3)
{
i++;
return 1;
}
else return 0;
}
int B()
{
if (i==n+1) return 0;
if (v[i]==2)
{
i++;
return B();
}
else
{
if (v[i]==1)
{
i++;
if (A()==0) return 0;
if (v[i]!=3) return 0;
i++;
if (A()==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]==3)
{
i++;
if (B()==0) return 0;
return C();
}
else
{
if (v[i]==1)
{
i++;
if (v[i]!=2)
{
i++;
return 0;
}
else
{
i++;
return A();
}
}
else return 0;
}
}
}