Увы, обыкновенные прямоугольники детям быстро наскучили. Теперь воспитательнице требуется новая программа. Напишите программу, которая строит числовую змейку требуемого размера.
Формат ввода
В первой строке записано число N — высота числового прямоугольника.
Во второй строке указано число M — ширина числового прямоугольника.
Формат вывода:
Нужно вывести сформированную числовую змейку требуемого размера.
Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины.
Пример
Ввод
2
3
Вывод
1 2 3
6 5 4
Ввод
4
6
Вывод
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 16 17 18
24 23 22 21 20 19
Решение
Развитие наивного метода решения предыдущей задачи L. Числовой прямоугольник.
Алгоритмический метод решения требует знакомства со списками, поэтому мы его отпускаем и сконцентрируемся на наивном.
Решение от прошлого отличается только тем, что каждая четная строка развернута задом-наперед. Нам остается всего лишь учесть это в нашей формуле.
Посмотреть код
Решение
# Наивный метод
height = int(input())
width = int(input())
ceil_width = len(str(width * height))
if height > 0 and width > 0:
for row in range(height):
for column in range(width):
if (row % 2) == 0:
num = row * width + column + 1
else:
num = (row + 1) * width - column
print(f'{num:>{ceil_width}}', end=' ')
print()
N = int(input())
M = int(input())
count = 0
maxi = N * M
ln = len(str(maxi))
for i in range(N):
if i % 2 == 0:
count_ = count + 1
for j in range(M):
print(f‘{count_:>{ln}}’, end=” “)
count_ += 1
count = count_
print()
else:
count = count + M – 1
count_ = count
for j in range(M):
print(f‘{count_:>{ln}}’, end=” “)
count_ -= 1
print()