#3610. 二维数组转置

二维数组转置

题目描述

输入一个nnmm列的数组,输出他的转置,具体来说输出的第ii行第jj个数字,应是输入的第jj行第ii个数字。

特别注意

  • 你并不能声明一个两维的大小都是20000二维数组。(数组不能太大,二维数组的大小是两维的乘积)
  • 二维数组本质上和一维数组等价,所以你只需要一个大小为20000的一维数组。

输入

第一行两个整数n,mn, m表示数组的行数和列数;

接下来nn行,每行mm个整数表示数组内容。

输出

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

样例

3 2
1 2
3 4
5 6
2 3
1 3 5
2 4 6

数据范围

  • 1n20000,1m20000,1nm20000,1a[i][j]10001≤n≤20000,1≤m≤20000,1≤n∗m≤20000,1≤a[i][j]≤1000

来源

  • 一本通编程启蒙在线评测