Cod sursa(job #1263872)
| Utilizator | Data | 15 noiembrie 2014 11:14:03 | |
|---|---|---|---|
| Problema | Perle | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int n,k,v[10009];
int B(int x);
int C(int x);
int B(int x){
if(v[x]==2) return B(x+1);
if(v[x]==1 && v[x+2]==3) return C(x+4);
return 0;
}
int C(int x){
if(v[x]==2) return x;
if(v[x]==3) return C(B(x+1));
if(v[x]==1 && v[x+1]==2) return x+2;
}
int main()
{ f>>n;
for(int i=1;i<=n;i++){
f>>k;
for(int j=1;j<=k;j++){
f>>v[j];
}
if(k==1 || B(1)==k || C(1)==k) g<<"1"<<endl;
else g<<"0"<<endl;
}
return 0;
}
