#T370. 【例64.1】 二维数组转置

【例64.1】 二维数组转置

{"zh":"

说明

\n\n输入一个nnmm列的数组,输出他的转置,具体来说
\n输出的第ii行第jj个数字,应是输入的第jj行第ii个数字。
\n$1 \\le n \\le 20000;1 \\le m \\le 20000;1 \\le n * m \\le 20000;1 \\le a[i][j] \\le 1000$
\n特别注意,你并不能声明一个两维的大小都是2000020000二维数组。(数组不能太大,二维数组的大小是两维的乘积)
\n二维数组本质上和一维数组等价,所以你只需要一个大小为2000020000的一维数组。\n

输入格式

\n\n第一行两个整数nn, mm表示数组的行数和列数;
接下来nn行,每行mm个整数表示数组内容。\n\n

输出格式

\n\n第一行先输出mm, nn。 接下来输出转置的结果,共mmnn列。 其中第ii行第jj个数字,应是输入的第jj行第ii个数字。\n\n

样例

\n
<code class="language-input1">3 2\n1 2\n3 4\n5 6</code>
<code class="language-output1">2 3\n1 3 5\n2 4 6</code>
\n"}