Pagini recente » Cod sursa (job #1221826) | Cod sursa (job #2547571) | Cod sursa (job #238008) | Cod sursa (job #1744636) | Cod sursa (job #67065)
Cod sursa(job #67065)
var nr,vb1,n,i,j,dex,mam:longint;
a:array[1..10000] of shortint;
label 1,2;
procedure perlaB;forward;
procedure perlaC;forward;
procedure perlaB;
var ipr:longint;
begin
ipr:=0;
vb1:=0;
while (dex<nr) or (mam=1) do
begin
if ((a[dex]=1) and (mam=1)) or ((dex=1) and (a[dex]=1))then
if a[dex+2]=3 then
begin
dex:=dex+4;
mam:=1;
perlaC;
end
else
begin
vb1:=1;
exit;
end
else
if ((a[dex]=2) and (mam=1)) or ((dex=1) and (a[dex]=2))then
begin
inc(dex);
mam:=1;
end
else
begin
vb1:=1;
exit;
end;
if (dex>=nr) and (mam=1) then begin vb1:=1;exit; end;
end;
if dex>nr then begin vb1:=1; exit; end;
end;
procedure perlaC;
var ipr:longint;
begin
ipr:=0;
vb1:=0;
while (dex<nr) or (mam=1) do
begin
if (a[dex]=2) and (mam=1) then
begin
mam:=0;
inc(dex);
end
else
if ((a[dex]=3) and (mam=1)) or ((dex=1) and (a[dex]=3))then
begin
inc(dex);
mam:=1;
perlaB;
end
else
if ((a[dex]=1) and (a[dex+1]=2) and (mam=1)) or ((dex=1) and (a[dex]=1) and (a[dex+1]=2))then
begin
mam:=0;
dex:=dex+2;
end
else
begin
vb1:=1;
exit;
end;
if (dex>=nr) and (mam=1) then begin vb1:=1;exit; end;
end;
if dex>nr then begin vb1:=1; exit; end;
end;
begin
assign(input,'perle.in');
assign(output,'perle.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do
begin
if i>1 then writeln;
read(nr);
for j:=1 to nr do
read(a[j]);
dex:=1;
mam:=0;
perlaB;
if vb1=1 then
begin
dex:=1;
mam:=0;
perlaC;
if vb1=1 then write(0)
else write(1);
end
else
write(1);
end;
close(input);
close(output);
end.