Ви підприємець із залізниць у Сполучених Штатах 19 століття, коли потяги стають популярними, оскільки вони є найефективнішим засобом перевезення великих обсягів матеріалів по суші. Існує національна потреба у залізничних коліях від східного узбережжя через деякі недавно колонізовані землі на заході.
Для задоволення цієї потреби уряд США збирається стягувати податок на субсидування залізниць. Вони пообіцяли заплатити гроші вашій залізничній компанії за кожну милю прокладеної колії. Оскільки прокладення доріжок у горбистих та гірських районах дорожче, ніж прокладка доріжок у рівнинній землі, вони відповідно коригують суму, яку вони дають. Тобто уряд заплатить
- 5000 доларів за милю траси, прокладеної на рівнині
- $ 12 500 за милю траси, прокладеної в горбистій землі
- $ 20 000 за милю траси, прокладеної в горах.
Звичайно, цей план не відображає точно, скільки насправді коштує прокладати доріжки.
Ви найняли деяких картографів, щоб вони склали рельєфні карти регіонів, де ви будете прокладати доріжки для аналізу висоти. Ось одна така карта:
S12321
121234
348E96
Кожна цифра представляє одну квадратну милю землі. S
є початковою точкою, E
є кінцевою точкою. Кожне число відображає інтенсивність змін висоти в цьому регіоні.
- Земля під номером 1-3 становить рівнину.
- Земля з номером 4-6 становить горбисту землю.
- Земля з номером 7-9 становить гірський хребет.
За багаторічний досвід будівництва залізничних колій ви оцінили, що вартість будівництва колій (у доларах) відповідає цій формулі:
Cost_Per_Mile = 5000 + (1500 * (Elevation_Rating - 1))
Це означає, що побудова на певних градієнтах висоти буде коштувати вам більше грошей, ніж дає уряд, іноді це буде вигідно, а іноді ви просто зламаєте.
Наприклад, миля траси на градієнті висоти 3 коштує 8000 доларів, а ви лише платите 5000 доларів, тому ви втрачаєте 3000 доларів. Навпаки, будівництво милі траси на градієнті висоти 7 коштує 14 000 доларів, але за це вам платять 20 000 доларів: прибуток 6 000 доларів!
Ось прикладна карта, а також два різні можливі шляхи.
S29 S#9 S##
134 1#4 1##
28E 2#E 2#E
Перший трек коштує 30 000 доларів на його побудову, але уряд платить вам за це 30 000 доларів. Ви не отримуєте прибутку від цієї доріжки.
З іншого боку, на будівництво другий коштує 56 500 доларів, але за це вам платять 62 500 доларів. Ви заробляєте 6000 доларів від цього треку.
Ваша мета: надавши карту рельєфу, знайдіть найвигідніший (чи, можливо, найменш дорогий) шлях від початку до кінця. Якщо кілька шляхів пов'язані, будь-який з них є прийнятним рішенням.
Деталі програми
Вам надається введення тексту, розділене прямокутною картою чисел та однією початковою та кінцевою точкою. Кожне число буде цілим числом, включно між 1 і 9. Крім цього, вхід може бути наданий у межах причини.
Вихід повинен бути у тому ж форматі, що і вхідний, при цьому цифри, де побудована доріжка, замінені хеш ( #
). Через довільні норми, накладені деякими примхливими політиками, сліди можуть йти лише горизонтальними або вертикальними стежками. Іншими словами, ви не можете відхилитись або пройти по діагоналі.
Програма повинна мати можливість вирішувати за розумну кількість часу (тобто <10 хвилин) для карт до 6 рядків і 6 стовпців.
Це виклик для гольфу з кодом , тому виграє найкоротша програма.
У мене є приклад реалізації (без гольфу) .
Зразок вводу / виводу
S12321
121234
348E96
S12321
######
3##E##
S73891
121234
348453
231654
97856E
S#3###
1###3#
3#####
######
#####E
4
у 134
прикладі карта бути 6
?