YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Russian subtitles

← 04-30 Value Program Solution

Get Embed Code
3 Languages

Subtitles translated from English Showing Revision 1 created 12/27/2012 by Eldar.

  1. Вот моя реализация, которая должна быть довольно прямо вперед.
  2. У нас есть значение функции, которая является же размера, как мой мир
  3. и я инициализировать с 99 везде.
  4. Это должно оцениваться как достаточно большой, не конфликтующую с любым фактическим значением.
  5. Я теперь обновить функцию value число раз--не знаю, как часто--
  6. но как долго, как что-то изменить, я обновить его.
  7. Поэтому, я представил переменная «смена», который я установил значение True в начале.
  8. Хотя изменение является случай, я обновить, но я аккуратно набор изменений в значение False.
  9. Единственный способ вернуться к True является, что я на самом деле изменил что-то.
  10. Теперь я иду через все ячейки сетки в фиксированном порядке.
  11. Это случается быть не очень эффективно, но, безусловно, получает работу сделано.
  12. Я сначала проверить, если ячейки сетки, которую я рассматриваю это цель.
  13. Вот типичный случай, когда я проверить изменения.
  14. Если в настоящее время правильно задано значение 0, я ничего не делают.
  15. Если это больше, чем 0, например 99, затем я установить его до 0, и я только что изменил что-то.
  16. Таким образом я установил флаг изменения обратно в значение True.
  17. Если это не цель ячейку, то вот моя функция полное обновление.
  18. Я иду через все действия.
  19. Я проекта потенциальным следующее состояние после выполнения действия
  20. путем добавления соответствующих дельта x и y.
  21. Это дает мне x 2 и y2.
  22. Я проверить, являются ли x 2 и y2 легитимных государств.
  23. Для этого они должны быть внутри grid.
  24. Я проверить, являются ли число больше 0 и меньше, чем размер сетки.
  25. И он должен быть действие что действий судоходных ячейке.
  26. Поэтому я проверить, что координаты в сетке имеет значение 0.
  27. Если это так, я могу распространять обратно значение.
  28. Мое новое значение является значением этого будущего ячейке плюс стоимость шаг,
  29. который случается быть 1.
  30. Теперь если это значение равно лучше, чем значение, у меня уже, который означает, что он меньше,
  31. затем назначить моей первоначальной ячейки сетки это новое значение x и y, плюс конечно стоимость шаг.
  32. Тогда я знаю, что я изменил что-то.
  33. Поэтому я задать изменение «True», и повторяется процедура.
  34. Единственное, что отсутствует в самом конце, когда я сделал,
  35. Я распечатать значение функции, используя эти команды над здесь.
  36. Я должен предупредить вас, что это не очень эффективным.
  37. Почему это не эффективный причина что значение медленно распространяется
  38. от конца к началу.
  39. Но оставляя эту озабоченность в стороне, она на самом деле вычисляет функцию правильное значение.
  40. Есть способы, чтобы сделать его более эффективным.
  41. Это также интересно посмотреть, что произойдет, если я отрезал любой путь к цели.
  42. Результирующее значение функция сохранит 99s для большинства переменных состояния--
  43. именно те там, где нет действительный путь к цели.