Задача 5: Музей Музей представляет собой 25 квадратных залов в форме квадрата 5×5, схему которого вы можете видеть на картинке ниже.
В каждом зале музея нужно повесить табличку «Продолжение осмотра», которая указывает в один из чётырёх соседних залов. Направление осмотра будем обозначать одной из четырёх букв: «L» (влево), «R» (вправо), «U» (вверх), «D» (вниз), обозначающей, в какой из четырёх соседних залов можно пройти из данного зала.
Утром музей заполняется посетителями, но ввиду ограничений на численность в каждом зале первоначально располагается ровно один человек. После этого посетители музея начинают перемещаться в соседние залы в направлении стрелок.
Для того, чтобы посетители музея как можно больше приобщились к прекрасному, необходимо разместить таблички так, чтобы суммарное число залов, в которых побывает каждый посетитель, было как можно больше. Считается, что посетитель может побывать в каком-либо зале, если он может попасть в этот зал, перемещаясь по стрелкам. Вам необходимо придумать такое размещение табличек. При этом не следует беспокоиться о выходах из музея: если посетителю надоест блуждать по музею, он всегда сможет выйти из него, игнорируя таблички (но уже не осматривая залы).
В ответе запишите план музея — пять строк по пять символов в каждой. Каждый символ — направление обхода из соответствующего зала. Чем больше будет сумма осмотренных залов всеми посетителями музея, тем больше вы получите (для каждого посетителя считается количество осмотренных им залов и берётся сумма по всем посетителям).
Пример записи ответа (не являющегося оптимальным) для музея размера 3×3:
UUD
LLR
RRD
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');
readln(n);
until (n>0) and (n<=1000);
t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
1:write('тысяча ');
end;
if s>=0 then
case s of
1:write('сто ');
2:write('двести ');
3:write('триста ');
4:write('четыресто ');
5:write('пятьсот ');
6:write('шестьсот ');
7:write('семьсот ');
8:write('восемьсот ');
9:write('девятьсот ');
end;
if d>=0 then
case d of
1:
case n of
10: write('десять ');
11: write('одиннадцать ');
12: write('двенадцать ');
13: write('тринадцать ');
14: write('четырнадцать ');
15: write('пятнадцать ');
16: write('шестнадцать ');
17: write('семнадцать ');
18: write('восемнадцать ');
19: write('девятнадцать ');
end;
2:write('двадцать ');
3:write('тридцать ');
4:write('сорок ');
5:write('пятьдесят ');
6:write('шестьдесят ');
7:write('семьдесят ');
8:write('восемьдесят ');
9:write('девяносто ');
end;
if e>=0 then
case e of
1:write('один ');
2:write('два ');
3:write('три ');
4:write('четыре ');
5:write('пять ');
6:write('шесть ');
7:write('семь ');
8:write('восемь ');
9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.