⇤ ← Версия 1 от 2017-10-23 18:23:17
1360
Комментарий:
|
← Версия 2 от 2017-10-23 18:23:41 ⇥
1360
|
Удаления помечены так. | Добавления помечены так. |
Строка 20: | Строка 20: |
1. Заводим список направлений (приращений координат): ⇒, ↓, ←, ↑ | 1. Заводим список направлений (приращений координат): →, ↓, ←, ↑ |
Ввести целые M и N, вывести последовательность 0 1 2 3 4 5 6 7 8 9 0 1 2 3 … в виде спирально (по часовой стрелке, из верхнего левого угла) заполненной таблицы M×N. Не забываем про то, что M и N могут быть чётными, нечётными и неизвестно, какое больше.
В конце этой страницы — спойлер: описание алгоритма.
6,5
0 1 2 3 4 5 7 8 9 0 1 6 6 7 8 9 2 7 5 6 5 4 3 8 4 3 2 1 0 9
- Заводим матрицу M×N с невозможными значениями (например, -1)
- Заводим список направлений (приращений координат): →, ↓, ←, ↑
- Текущие координаты — 0,0; текущее направление — →
- Вписать очередную цифру по текущим координатам
- Если по направлению лежит граница массива, или значение массива ≠ -1
- Циклически сменить направление на следующее
- Повторить с п.4 N*M раз