Блог пользователя puss_in_boots

Автор puss_in_boots, 11 лет назад, По-русски

Вот такая задачка:Вам дан робот и число N.Нужно придумать строку из букв R,L,U,D так чтобы если впустить робот в лабиринт NxN(клетчатая доска) где в некоторых узлах есть стены,тогда робот должен пройти все клетки лабиринта хотя бы по одному разу.Команды R,L,U,D приказывают идти вправо,влево,вниз,вверх соосветсвенно.Если приказывают идти сквозь стену то робот просто стоит на месте.Роботу может попасть в начале в любую клетку любого лабиринта.Придумайте строку.

  • Проголосовать: нравится
  • -5
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Я так понимаю, связность лабиринта гарантируется?

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

Я знаю, как придумать такую строку. Рассмотрим всевозможные ситуации (ситуация = лабиринт + клетка, в которую мы попали).

Рассмотрим первую ситуацию и выпишем последовательность, которая позволит нам пройти все клетки в этой ситуации. При этом во всех остальных ситуациях наблюдаем, где мы оказались.

Когда мы прошли все клетки в первой ситуации, переходим ко второй и выписываем последовательность, которая позволит пройти все ранее не пройденные клетки (начиная из клетки, в которой мы оказались после обхода первой). При этом следим за тем, где мы оказываемся во всех ситуациях, начиная с третьей.

И так далее.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

О положении стен нам ничего неизвестно?

»
11 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Рассуждая примерно как здесь, можно получить, что случайная строка длины (возможно, степень логарифма неправильная, это навскидку) с высокой вероятностью подходит для всех лабиринтов и для всех стартовых положений.

UPD: здесь n -- количество вершин, если n -- размер лабиринта, то длина равна .

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Задача B с NEERC 2008 (http://mirror.codeforces.com/gym/100286) похожа на вашу. У нас зашёл рандом, но там ограничения уж совсем маленькие по-моему. P.S: там интерактив, решать можно совсем не рандомом, т.к. мы ещё получаем информацию, попали ли мы в стену. Но для проверки решения (если Вы не взяли эту задачу откуда-то, а придумали сами) вполне сойдёт.

  • »
    »
    11 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Да очень похожая.Но интерактивность очень даже облегчает поставленную задачу.Задачу нам давали на тренировках(по математике) года 2 назад.Мне стало очень интересно есть ли другое решение.Например i раз поторяем что-то,i+1 еще что-то и.т.д.