Я готовлюсь к соревнованию по программированию, и у меня возникают сложные проблемы, на которые я не мог ответить в прошлом.Одним из них был Лабиринт Короля.По сути, вам дан массив чисел NxN -50<x<50
, которые представляют "токены".Вы должны начать с позиции 1,1 (я предполагаю, что это 0,0 в индексах массива) и закончить на N, N.Вы должны собирать токены в ячейках, которые посещаете, и не можете наступить на ячейку без токена (обозначенного 0).Если вас окружают 0, вы проигрываете.Если в лабиринте нет решения, вы выводите «Нет решения».Иначе, вы выводите максимально возможное число, которое можете получить, складывая собранные токены.
Я понятия не имею, как решить эту проблему.Я подумал, что вы могли бы написать алгоритм лабиринта для его решения, но это занимает время, и в соревнованиях по программированию вам дается всего два часа на решение множества проблем.Я предполагаю, что есть какой-то шаблон, который мне не хватает.Кто-нибудь знает, как я должен подходить к этому?
Кроме того, это может помочь упомянуть, что эта проблема предназначена для старшеклассников.