给定一个 m 行、n 列的矩阵,你需要根据要求将它水平翻转或竖直翻转。对于矩阵 A = \begin{bmatrix} 4 & 3 & 1 \ 5 & 6 & 2 \end{bmatrix},如果我们对 A 进行水平翻转,我们将得到 A' = \begin{bmatrix} 1 & 3 & 4 \ 2 & 6 & 5 \end{bmatrix};如果我们对 A 进行竖直翻转,我们将得到 A'' = \begin{bmatrix} 5 & 6 & 2 \ 4 & 3 & 1 \end{bmatrix}。
测评机会反复运行你写的程序。每次程序运行时,首先在第一行输入 2 个整数,分别对应题目描述中的 m 和 n(1 \leq m,n \leq 100),两个整数之间用一个空格分隔。
接下来输入 m 行,每行包含 n 个整数,每两个整数之间用一个空格分隔。
接下来输入一行,输入一个整数为1或0。当输入为1时对矩阵进行水平翻转;当输入为0时对矩阵进行竖直翻转。
输出包括 m 行,每行包含 n 个整数,按要求输出翻转后的矩阵,每行任意两个整数之间用一个空格分隔,每行最后一个整数后面没有空格。
2 3 1 2 3 3 4 6 1
3 2 1 6 4 3
3 2 1 2 3 4 5 6 0
5 6 3 4 1 2
每次运行后你将使用二维数组存储读入的矩阵。在输出矩阵时,由于要求输出的方式不同,程序与之前课程直接输出二维数组的方式也略有不同,主要差异在于两层for循环的先后顺序,以及for循环中索引由大到小还是由小到大的顺序。
请注意,如果你希望输出的行末没有多余的空格,在输出最后一个元素时,你将有可能需要用到if语句(就像我们在前面的课程中已经做过的一样)。
请注意,不要让你的程序输出任何多余的内容,否则测评机都会给出“运行结果错误”的提示。