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

Автор Karavaiev, 5 лет назад, перевод, По-русски

Всем доброго времени суток! Столкнулся с проблемой в этой задаче 1316D - Матрица Нэша

72448209 Это моя первая отправка.

72460522 Это последння.

Вот 2 года на codeforces. Это в принципе первый ML который я словил за это время. Безумно интересно почему! К тому же я не один такой.

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

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

Может какая-то ошибка типо из очереди не вынимаете или бесконечно в нее добавляете? Поставьте assert((int)queue.size() <= 4 * n * n); чтобы проверить, что у Вас нет ошибки, больше некому вызывать ML.

  • »
    »
    5 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Спасибо! В этом и проблема. Стоит научиться писать BFS! :)

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

You have not ruled out the possibility of infinite loops within the Depth-first search that you build using the queue. I understand that normally you would expect this bug to yield a TLE, however not in this case: your code runs out of memory before it runs out of time.

Adjusting the DFS by adding some safety checks that make sure you don't visit the same cell twice solves the problem: https://codeforces.net/contest/1316/submission/72473517.

Cheers!