Pagini recente » Cod sursa (job #676282) | Cod sursa (job #420727) | Cod sursa (job #325114) | Cod sursa (job #18289) | Cod sursa (job #2118973)
#include <iostream>
#include <fstream>
#include <cstring>
#define NMAX (1<<30)
#include <vector>
using namespace std;
ifstream in("perle.in");
ofstream out("perle.out");
vector < int > v;
int n,t,x,pos;
void A();
void B();
void C();
void A()
{
if(pos>=0) pos++;
}
void C()
{
if(pos==-1) return;
else
if(v[pos]==1)
{
pos++;
if(v[pos]!=2)
{
pos=-1;
return;
}
pos++;
A();
}
else
{
pos++;
B();
C();
}
}
void B()
{
if(pos==-1) return;
if(v[pos]==2)
{
pos++;
B();
}
else if(v[pos]==1)
{
pos++;
A();
if(v[pos]!=3)
{
pos=-1;
return;
}
pos++;
A();
C();
}
}
void rezolva(vector <int>& v)
{
bool ok=false;
pos=0;
A();
if(pos==v.size()) ok=true;
pos=0;
B();
if(pos==v.size()) ok=true;
pos=0;
if(pos==v.size()) ok=true;
out<<ok<<'\n';
}
int main()
{ in>>n;
for(int i=1;i<=n;i++)
{
v.clear();
in>>t;
for(int j=1;j<=t;j++)
{
in>>x;
v.push_back(x);
}
rezolva(v);
}
return 0;
}