Музей представляет собой 25 квадратных залов в форме квадрата 5×5, схему которого вы можете видеть на картинке ниже. В каждом зале музея нужно повесить табличку «Продолжение осмотра», которая указывает в один из чётырёх соседних залов. Направление осмотра будем обозначать одной из четырёх букв: «L» (влево), «R» (вправо), «U» (вверх), «D» (вниз), обозначающей, в какой из четырёх соседних залов можно пройти из данного зала.
Утром музей заполняется посетителями, но ввиду ограничений на численность в каждом зале первоначально располагается ровно один человек. После этого посетители музея начинают перемещаться в соседние залы в направлении стрелок.
Для того, чтобы посетители музея как можно больше приобщились к прекрасному, необходимо разместить таблички так, чтобы суммарное число залов, в которых побывает каждый посетитель, было как можно больше. Считается, что посетитель может побывать в каком-либо зале, если он может попасть в этот зал, перемещаясь по стрелкам. Вам необходимо придумать такое размещение табличек. При этом не следует беспокоиться о выходах из музея: если посетителю надоест блуждать по музею, он всегда сможет выйти из него, игнорируя таблички (но уже не осматривая залы).
В ответе запишите план музея — пять строк по пять символов в каждой. Каждый символ — направление обхода из соответствующего зала. Чем больше будет сумма осмотренных залов всеми посетителями музея, тем больше вы получите (для каждого посетителя считается количество осмотренных им залов и берётся сумма по всем посетителям).
Пример записи ответа (не являющегося оптимальным) для музея размера 3×3:
Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var b:=MatrRandom(m,m,-99,99);
b.Println(4); Writeln(4*m*'-');
var (s,s1):=(Sqr(b[0,0]),0);
for var i:=0 to m-1 do
for var j:=0 to m-1 do
if i+j<>0 then s1+=b[i,j];
s-=Sqr(s1);
Writeln('Результат: ',s)
end.
Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица ***
48 -33 4 -66 28
91 -46 58 11 92
37 -42 8 -12 39
25 65 91 -30 83
-31 -53 36 28 49
Результат: -184320
2. 10х10=100 точек, каждая по 16 цветов (4 бита) . Следовательно, на каждые 2 точки уходит байт памяти. Итого - 50 байт.
3. 8х32=256 пикселей. Каждый пиксель занимает 1 байт (8 бит = 256 комбинаций) . Итог - 256 байт.
4. 128х128=16,384 пикселя. 2 кБ памяти = 2,048 байт. Делим объем памяти на количество точек. Получаем 2,048/16,384=0.125 байта на точку, или 1 бит (1/8=0.125). Т. е. , только два цвета - черный и белый.
5. 20х20=400 точек. Каждая по 1 байту (256 цветов = 8 бит) . Итого - 400 байт. ДЕРЖИ