Pagini recente » Cod sursa (job #352747) | Cod sursa (job #1517168) | Cod sursa (job #690131) | Cod sursa (job #1058149) | Cod sursa (job #952666)
Cod sursa(job #952666)
#include<cstring>
#include<fstream>
using namespace std;
int siz, a[100005];
int B(int p);
int C(int p);
int B(int p){
if(a[p] == 2){
return B(p + 1);
}
else if(a[p] == 1 && a[p + 2] == 3){
return C(p + 4);
}
return siz + 2;
}
int C(int p){
if(a[p] == 2){
return p + 1;
}
else if(a[p] == 3){
return C(B(p + 1));
}
else if(a[p] == 1 && a[p + 1] == 2){
return p + 3;
}
return siz + 2;
}
int main(){
ifstream in("perle.in");
ofstream out("perle.out");
int tests;
in >> tests;
for(int i = 1; i <= tests; ++i){
in >> siz;
for(int i = 1; i <= siz; ++i)
in >> a[i];
a[siz + 1] = a[siz + 2] = a[siz + 3] = a[siz + 4] = -1;
if(siz == 1 || B(1) == siz + 1 || C(1) == siz + 1)
out << "1\n";
else
out << "0\n";
}
return 0;
}