Pagini recente » Monitorul de evaluare | Cod sursa (job #2510640) | Cod sursa (job #2034379) | Cod sursa (job #1171894) | Cod sursa (job #1895399)
#include <fstream>
#define nmax 10001
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int n,q,v[nmax],a,b;
int case1(int i);
int case2(int i);
int case1(int i)
{
if(v[i]==1 && v[i+2]==3)
return case2(i+4);
if(v[i]==2)
return case1(i+1);
return 0;
}
int case2(int i)
{
if(v[i]==3)
return case2(case1(i+1));
if(v[i]==1 && v[i+2]==3)
return i+3;
if(v[i]==2)
return i+1;
return 0;
}
void solve()
{
int i,j;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>q;
for(j=1; j<=q; j++)
fin>>v[j];
if(q!=1 && case1(1)!=q+1 && case2(1)!=q+1)
fout<<"0\n";
else fout<<"1\n";
}
fin.close();
fout.close();
}
int main()
{
solve();
return 0;
}