📄 1088.pas
字号:
program ilyamurumets;
type position=record level,value:longint; end;
var magm,murm,f,h,mur,mag:longint;
count:longint;
murom,magic:position;
i,k:longint;
muromets:array[1..32] of position;
magicstone:array[1..32] of position;
countmur,countmag:longint;
min:longint;
function prev(i:longint):longint;
begin
prev:=((i-1) div 2)+1;
end;
begin
readln(magm,murm,f,mag,mur,h);
count:=0;
murom.level:=murm;
for i:=1 to murm do mur:=prev(mur);
murom.value:=mur;
magic.level:=magm;
for i:=1 to magm do mag:=prev(mag);
magic.value:=mag;
countmur:=1;
muromets[1].level:=murom.level;
muromets[1].value:=murom.value;
countmag:=1;
magicstone[1].level:=magic.level;
magicstone[1].value:=magic.value;
while murom.level<>f do begin
inc(countmur);
inc(murom.level);
murom.value:=prev(murom.value);
muromets[countmur].level:=murom.level;
muromets[countmur].value:=murom.value;
end;
while magic.level<>f do begin
inc(countmag);
inc(magic.level);
magic.value:=prev(magic.value);
magicstone[countmag].level:=magic.level;
magicstone[countmag].value:=magic.value;
end;
min:=1000000000;
for i:=1 to countmur do
for k:=1 to countmag do
if (muromets[i].level=magicstone[k].level)and(muromets
[i].value=magicstone[k].value) then
if i+k-2<min then min:=i+k-2;
if min<=h then writeln('YES') else writeln('NO');
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -