2026, група C, 4-6 клас
53
D.
ЛАБИРИНТ С ПАМЕТ, ТЕЛЕПОРТИ И ЦЕНА
380
Условие
CODE@BURGAS 2026, ГРУПА C, ЗАДАЧА D. ЛАБИРИНТ С ПАМЕТ, ТЕЛЕПОРТИ И ЦЕНА
---
Вие сте в лабиринт с размери n x m и трябва да намерите най-евтиния път от началната клетка (0,0) до крайната клетка (n-1,m-1). Лабиринтът е представен като двумерен масив със следните стойности:
- стойност -1 означава стена (непроходимо поле)
- стойност 0 означава свободно поле с цена 1
- положително число k означава поле с цена k
- стойност -2 означава телепорт
Позволени са движения в четири посоки: нагоре (U), надолу (D), наляво (L) и надясно (R). Ако стъпите върху телепорт, можете да се преместите до всеки друг телепорт в лабиринта без допълнителна цена (само цената за влизане в клетката се заплаща). Не можете да посещавате една и съща клетка повече от веднъж. Целта е да намерите път с минимална обща цена.
Ограничения:
1 ≤ n, m ≤ 200.
Вход:
На първия ред на стандартния вход се въвеждат две цели числа n и m — съответно броят на редовете и колоните на лабиринта. Следват n реда, всеки съдържащ по m цели числа, които описват клетките на лабиринта. Всяко число може да има една от следните стойности: -1 — клетката е стена и не може да бъде премината; 0 — свободна клетка с цена за преминаване 1; положително цяло число k — клетка с цена за преминаване k; -2 — клетка, представляваща телепорт. Началната позиция винаги е в клетката (0, 0), а крайната позиция — в клетката (n-1, m-1).
Изход:
Ако съществува път от началната до крайната клетка, изведете този път като последователност от символи: U — движение нагоре, D — движение надолу, L — движение наляво и R — движение надясно. Пътят трябва да е с минимална обща цена. Ако не съществува такъв път, изведете: NO SOLUTION
Примерен вход:
10 4
0 0 -1 1
0 -1 0 -2
0 2 -2 -1
-1 0 3 5
0 -2 0 1
-1 4 -1 1
-2 -2 0 3
0 -1 1 5
0 1 0 4
-1 0 -1 0
Примерен изход:
DDRRRDDRD