Pagini recente » Cod sursa (job #1966631) | Cod sursa (job #735512) | Borderou de evaluare (job #804535) | Cod sursa (job #2082913) | Cod sursa (job #2926250)
#include <fstream>
using namespace std;
ifstream cin("perle.in");
ofstream cout("perle.out");
int t, i, j, ii, n, m;
int v[10005];
bool a,b,c;
bool pa();
bool pb();
bool pc();
bool pa(){
if (i>n)
return 0;
i++;
return 1;
}
bool pb() {
if (i>n)
return 0;
if (v[i]==3){
i++;
return 0;
}
if (v[i]==2){
i++;
return pb();
}
if (v[i]==1 && v[i+2]==3){
i++;
if (pa()==0)
return 0;
i++;
return pa() && pc();
}
return 0;
}
bool pc(){
if (i>n)
return 0;
if (v[i]==2) {
i++;
return 1;
}
if (v[i]==1) {
if (v[i+1]==2) {
i+=2;
return pa();
}
return 0;
}
i++;
return pb() && pc();
}
int main(){
cin>>t;
for(ii=1;ii<=t;ii++){
cin>>n;
for (i=1;i<=n;i++)
cin>>v[i];
i=1;
if (pa() && i>n) {
cout<<"1"<<"\n";
continue;
}
i=1;
if (pb() && i>n) {
cout<<"1"<<"\n";
continue;
}
i=1;
if (pc() && i>n)
cout<<"1"<<"\n";
else
cout<<"0"<<"\n";
}
}