3789: 【例64.1】 二维数组转置

文件提交:无需freopen 内存限制:512 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:1
命题人:
提交:14 解决:1

题目描述

## 【例64.1】 二维数组转置 时间限制:1000 ms 空间限制:512 MiB 题目类型:传统 ### 题目描述 输入一个 $n$ 行 $m$ 列的数组,输出他的转置,具体来说: 输出的第 $i$ 行第 $j$ 个数字,应是输入的第 $j$ 行第 $i$ 个数字。 $1 \le n \times m \le 20000$ 特别注意,你并不能声明一个两维的大小都是 $20000$ 二维数组。(数组不能太大,二维数组的大小是两维的乘积) 二维数组本质上和一维数组等价,所以你只需要一个大小为 $20000$ 的一维数组。 ### 输入格式 第一行两个整数 $n, m$ 表示数组的行数和列数。 接下来 $n$ 行,每行 $m$ 个整数表示数组内容。 ### 输出格式 第一行先输出 $m, n$。 接下来输出转置的结果,共 $m$ 行 $n$ 列。 其中第 $i$ 行第 $j$ 个数字,应是输入的第 $j$ 行第 $i$ 个数字。 ### 样例 #### 样例输入 ```plain 3 2 1 2 3 4 5 6 ``` #### 样例输出 ```plain 2 3 1 3 5 2 4 6 ``` ### 数据范围与提示 对于 $100\%$ 的数据,$1 \le n \le 20000$,$1 \le m \le 20000$,$1 \le a[i][j] \le 1000$。 ### 分类标签 (无)