Pagini recente » Cod sursa (job #2373864) | Cod sursa (job #1153450) | Cod sursa (job #1346444) | Cod sursa (job #1353159) | Cod sursa (job #2214977)
#include <bits/stdc++.h>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int applyB(int p,vector<int> V);
int applyC(int p,vector<int> V);
int applyB(int p,vector<int> V)
{
if(V[p]==1 && V[p+2]==3) return applyC(p+4,V);
if(V[p]==2) return applyB(p+1,V);
return 0;
}
int applyC(int p,vector<int> V)
{
if(V[p]==2) return p+1;
if(V[p]==3) return applyC(applyB(p+1,V),V);
if(V[p]==1 && V[p+1]==2) return p+3;
return 0;
}
int main()
{
int N;
f>>N;
for(;N--;)
{
int M;
f>>M;
vector<int> V(M);
for(auto &i:V) f>>i;
g<<(M==1 || applyB(0,V)==M || applyC(0,V)==M)<<'\n';
}
return 0;
}