a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] b = [1, 6, 11, 16, 17, 12, 7, 2, 3, 8, 13, 18, 19, 14, 9, 4, 5, 10, 15, 20]
Приветы.
Дано поле (поле случайное), допустим, сейчас оно 5 х 4 клеток.
Хочу пустить змейку, то есть сверху вниз первый столбик, потом снизу вверх второй столбик, потом сверху вниз третий столбик и тд.
То есть в итоге должна получиться числовая последовательность b.
И если первый столбик еще и получается, то уже на втором (снизу вверх) я буксую, ведь поле может быть рандомного размера, а забабахать алгоритм у меня пока не получается, чтобы учитывалась неизвестность входящих данных таблицы.
Есть дикая мысль забабахать сначала нечетные столбики сверху вниз, потом перечислить четные снизу вверх, потом это все как-то конкатенировать, но задом чую, что все должно решаться как-то более элегантно.
И второй вопрос: есть ли какая-то функция уже готовая, которая получает на вход матрицу (а:в), где а, в - это количество столбиков и строк, а выдает матрицу (в:а). То есть переворачивает прямоугольники в плоскости.
.