Другу нужен алгоритм, который позволил бы ему пропустить элементы матрицы NxM (N и M нечетны). Я придумал решение, но я хотел посмотреть, смогут ли мои коллеги SO's найти лучшее решение.
Я отправляю свое решение в качестве ответа на этот вопрос.
Результат:
Для матрицы 3x3 выход должен быть:
(0, 0) (1, 0) (1, 1) (0, 1) (-1, 1) (-1, 0) (-1, -1) (0, -1) (1, -1)
Кроме того, алгоритм должен поддерживать неквадратные матрицы, поэтому, например, для матрицы 5x3 выход должен быть:
(0, 0) (1, 0) (1, 1) (0, 1) (-1, 1) (-1, 0) (-1, -1) (0, -1) (1, -1) (2, -1) (2, 0) (2, 1) (-2, 1) (-2, 0) (-2, -1)