e-olymp 9537. Транспонирование матрицы

Задача

Задана матрица [latex]A[/latex]. Транспонируйте ее.
Пусть [latex]B[/latex] — транспонированная матрица [latex]A[/latex]. Пусть [latex]B[/latex] — транспонированная матрица [latex]A[/latex]. Тогда [latex] B_{ij} = A_{ji}[/latex] [latex]\begin{pmatrix}
1&2 \\
3&4 \\
5&6
\end{pmatrix}^T = \begin{pmatrix}
1 &3 &5 \\
2 &4 &6
\end{pmatrix}[/latex]

Входные данные

Первая строка содержит размеры матрицы [latex]n[/latex] и [latex]m[/latex]. [latex]1 \leq m,n \leq 100 [/latex] Следующие [latex]n[/latex] строк содержат по [latex]m[/latex] целых чисел и описывают матрицу [latex]A[/latex].

Выходные данные

Выведите транспонированную матрицу [latex]A[/latex]: [latex]m[/latex] строк по [latex]n[/latex] целых чисел.

Тесты

Входные данные Выходные данные
1 3 2
1 2
3 4
5 6
1 3 5
2 4 6
2 3 3
0 1 2
1 0 3
2 3 0
0 1 2
1 0 3
2 3 0
3 4 4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
4 10 3
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27
28 29 30
1 4 7 10 13 16 19 22 25 28
2 5 8 11 14 17 20 23 26 29
3 6 9 12 15 18 21 24 27 30

Код программы

Решение

При получении первой матрицы мы получаем индекс каждого элемента — [latex]i[/latex], [latex]j[/latex] и количество строк и столбцов — [latex]n[/latex] и [latex]m[/latex]. Зная саму матрицу, количество строк и столбцов мы можем создать матрицу, где строк столько, сколько столбцов в первой матрице, и наоборот.
Сама же перестановка элементов происходит посредством смены индекса строки и столбца — элемент [latex]a[/latex] с индексом [latex]i[/latex] строки и [latex]j[/latex] столбца становится элементом [latex]b[/latex] с индексом [latex]j[/latex] строки и [latex]i[/latex] столбца.

Cсылки

Условие на e-olymp
Код на ideone

Related Images: