题目大意
按如图所示的方法遍历输出一个给出的数组。
输入输出
第一行为两个整数n与m表示行数和列数
接下来输入要遍历的数组: n行,每行m个数
输出为n*m行回形遍历得到的数,每个数占一行
算法讨论
令当前遍历到的位置为(i, j),观察回形遍历图,我们可以发现遍历时共有4种方向,分别是向右(0)、向下(1)、向左(2)、向上(3),而在每种方向遍历时i(0)与j(1)都有特殊的变化方式。我们可以总结得出这样的方向增量:
方向 | i(0) | j(1) |
---|---|---|
向右(0) | 0 | 1 |
向下(1) | 1 | 0 |
向左(2) | 0 | -1 |