Pagini recente » Cod sursa (job #125823) | Cod sursa (job #1769768) | Cod sursa (job #648520) | rommmmm | Cod sursa (job #2360141)
#include <fstream>
using namespace std;
int n, nr, v[10005], i, j, poz, k, m;
char x, st[10005];
int verif ()
{
while (k>0) {
x=st[k]; k--;
if (x=='B') {
if(v[poz]==3)
return 0;
else if (v[poz]==2) {
k++; v[k]='B';
poz++;
if (poz>n-1)
return 0;
}else if (v[poz]==1 && v[poz+2]==3) {
st[++k]='C';
poz+=4;
if (poz>n||poz==n&&v[poz]!=2)
return 0;
}else
return 0;
}else if (x=='C') {
if (v[poz]==3) {
st[++k]='C';
st[++k]='B';
poz++;
if (poz>=n-4)
return 0;
}else if (v[poz]==1 && v[poz+1]==2) {
if (poz>n-2)
return 0;
} else if (v[poz]==2) {
if (poz>n-1)
return 0;
}else
return 0;
}
}
return 1;
}
int main () {
ifstream fin ("perle.in");
ofstream fout ("perle.out");
fin>>m;
for (i=1;i<=m;i++) {
fin>>n;
for (j=1;j<=n;j++)
fin>>v[j];
if (n==1) {
fout<<1<<"\n";
continue;
}
k=0;
st[++k]='B';
poz=1;
if (verif()) {
fout<<1<<"\n";
continue;
}
k=0;
poz=1;
st[++k]='C';
fout<<verif()<<"\n";;
}
return 0;
}