Примечание: для того, чтобы дать хедз-ап, это не задание для моей школы, так как я сам даже не знаю, какая школа написала этот вопрос. Надеюсь, не возникло недоразумений.Алгоритм Locker Room
Я нашел эти интересные вопросы о раздевалке:
Раздевалки в РЭЦ N шкафчики, которые помечены 1, 2,. , ., N.
Каждый шкафчик заблокирован, но его можно открыть с помощью его уникальной клавиши.
Копии ключа к каждому шкафчику находятся в смежных шкафчиках; т.е. копия ключа в шкафчик i помещается в шкафчик i + 1 и i-1 (ключ в шкафчик 1 находится только в шкафчике 2, а ключ к шкафчику N находится только в шкафу N-1).
T теннисные мячи находятся внутри T-образных шкафчиков (и вы знаете, какие из шкафов они находятся). Вам даны ключи от M шкафчики, и ваша цель - собрать все теннисные мячи на , открыв наименьшее количество шкафчиков.
Для фотографий вы можете видеть это непосредственно на the file here.
Я должен дать эти вопросы первому новичкам, но сначала я хотел убедиться, что у меня уже есть правильный ответ заранее.
То, что я имею в виду, что:
Нужно проверить мяч один за другим. Таким образом, для каждого шара (игнорируйте другие шары) каждый ключ должен посещать, пройдя к обозначенному шару. Для каждого ключа вычислите шаги, необходимые для посещения мяча. Наименьший результат хранится в переменной, называемой «total steps».
Сделайте это точно для следующего шара, и когда я получу минимальные шаги для этого текущего шара. Я добавляю это значение в «общие шаги».
Специальное условие применяется, если существует шар над ключом, то кнопка запуска перемещения от я + 1 и я - 1.
Мой вопрос: я прав? Я не хочу делиться неправильным алгоритмом с другими, так как это непрофессионально. С нетерпением ждем комментариев, предложений и материалов.
Как это может быть непонятно? Он представил проблему и предложил алгоритм. Он ясно заявил, что не ищет кода, просто проверяет. – nicomp
@ KeithNicholas OP предложил алгоритм и хочет проверить, что он правильный. Хотя тег C должен быть удален, вопрос действителен и ясен. Я не думаю, что он заслуживает того, чтобы быть закрытым или downvoted –
Как бы вы его оценили без внедрения и тестирования? –