y, x = map(int, input().split()) #Размеры матрицы, если матрицы имеет квадратную форму, то просто y = x = int(input())
matrix = [list(map(int, input().split())) for i in range(y)] #Заполняем матрицу
ans = [sum(matrix[k][i] for k in range(y)) for i in range(x)] #Находим сумму каждого столбца
print(*ans) #Выводим эти суммы
P.S. Комментарии убери, иначе не будет работать
P.S.S. Версия без коментариев и пример работы:
y, x = map(int, input().split())
matrix = [list(map(int, input().split())) for i in range(y)]
ans = [sum(matrix[k][i] for k in range(y)) for i in range(x)]
print(*ans)
Ввод:
3 4 #Размер
3 4 5 6 #Матрица
1 2 3 4
1 1 1 1
Вывод:
5 7 9 11
1) 0 + 1 = 1
2) 1 + 1 = 2
3) 2 + 1 = 3
4) 3 + 1 = 4
5) 4 * 2 = 8
6) 8 * 2 = 16
7) 16 + 1 = 17
8) 17 + 1 = 18
9) 18 + 1 = 19
10) 19 * 2 = 38
11) 38 * 2 = 76
12) 76 * 2 = 152
13) 152 * 2 = 304
14) 304 * 2 = 608
15) 608 + 1 = 609
16) 609 + 1 = 610
17) 610 + 1 = 611
18) 611 * 2 = 1222
19) 1222 * 2 = 2444
20) 2444 * 2 = 4888
21) 4888 + 1 = 4889
Объяснение:
Гораздо проще подобрать порядок действий, если рассматривать конечное число в двоичной системе счисления:
Все вычисления становятся гораздо проще и нагляднее, ведь для двоичного числа умножение на два -это просто появление справа одного нуля,
а добавление единицы -если справа (т.е. в младшем разряде) был нуль, то станет единица, а если была единица, то станет нуль, а единица перейдёт в следующий разряд (и там повторится тот же выбор).
Таким образом очень легко получить число 4889 этими действиями в двоичной системе. Получить его можно разными комбинациями указанных действий, нужно только лишь продумать действия так, чтобы их число получилось равным 21.
Вот как это выглядит, если показать результаты в двоичном виде (смотри прилагаемую картинку):
2. Пассажирский проезжает тупик, затем сдает назад в тупик и забирает эти 4 вагона, затем проезжает вперед и сдает назад на главную ветку, где отцепляет 4 товарных вагона.
3. Пункты 1 и 2 повторяются еще два раза и позади пассажирского поезда окажется 12 вагонов товарняка.
4. Товарняк с оставшимися 3 вагонами сдает назад в тупик и пассажирский спокойно проезжает по своим делам. Миссия выполнена - пассажирский пропущен.
5. Товарняк проезжает вперед, затем сдает назад по главной ветке и забирает свои 12 вагонов.