Скажем, у меня есть следующие сетки:Как перемещаться по сетке
Я не могу показаться, чтобы выяснить, как провести его с помощью цикл, начинающийся в нижнем левом углу. Порядок клеток должен быть
0,5 => 0,4 => 1,5 => 1,4 => 0,3 => 2,5, => 1,3 => 2,4 => 2,3...
Другой способ визуализировать:
(1) 0,5 =>
(2) 0,4 => (1,5) (1,4)
(3) 0,3 => (2,5) (1,3) (2,4) (2,3)
(4) 0,2 => (3,5) (1,2) (3,4) (2,2) (3,3) (3,2)
Так вот это шаблон, который я вижу:
- Для начала каждый цикл взять предыдущее значение петли (x, y) и сделать его (x, y-1)
- Итак, появляется шаблон, который выглядит как: (+1, y) (x, -1) (+1, y) (x, -1), и поэтому вы можете вытащить старые значения и чередовать инкремент с учетом x с уменьшением y.
Это неправильный инструмент для этой работы?
Есть ли умный алгоритм, который будет делать это, мне не нужно вытягивать предыдущее значение и просто рассчитать их? Я лаяю здесь неправильное дерево и должен ли я подойти по-другому (правильно?)?
EDIT:
Вот попытка рисования пути. Не уверен, если это имеет смысл:
Идея заключается старт в левом нижнем углу на первой ячейке. Поднимитесь на одну ячейку, а затем чередуйте, когда они образуют правильный угол. Как только будет сформирован полный правый угол, поднимитесь на одну ячейку и замените ее на новый правый угол.
Я не понимаю, какой путь вам нужен (несмотря на ваши примеры). Не могли бы вы нарисовать путь в сетке? – aioobe
Когда вы доберетесь до (3,2), как идет путь? Или сетка продолжается в x и y? Это бесконечно? – Helen
@ Показать сетку не бесконечно. Можно предположить, что имеется менее 20 столбцов и строк. Однако они могут быть не квадратными. –