Flip a 2D Array Vertically and Horizontally


Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

題目說明

請撰寫一個程式,處理一個二維陣列的輸入,並將該陣列進行上下翻轉後再進行水平翻轉,最後輸出翻轉後的結果。
首先,輸入兩個整數分別代表Row數量和Col數量,Row和Col的範圍為1到5。接著,輸入Row×Col的整數值,這些值代表二維陣列的內容,範圍為0到100。

  • 上下翻轉是指將第一個橫列和最後一個橫列互換,第二個橫列和倒數第二橫列互換,依此類推。
  • 水平翻轉是指將第一個直行和最後一個直行互換,第二個直行和倒數第二直行互換,依此類推。

輸入

  1. 第一行輸入兩個整數,分別為Row和Col,1 <= Row <= 5,1 <= Col <= 5。
  2. 接下來輸入Row×Col個整數,依序輸入每個橫列的內容,每個元素之間以空格分隔。

輸出

輸出翻轉後的二維陣列,每個橫列逐一輸出,每個元素以空格分隔。

思考邊界條件時可參考以下提示

  • 極小情況:1×1矩陣。
  • 極大情況:5×5矩陣。
  • Row與Col數量不相等的情況,例如3×5或5×3矩陣。

範例輸入 #1

3 3
1 2 3
4 5 6
7 8 9

範例輸出 #1

9 8 7
6 5 4
3 2 1

範例說明 #1

先進行上下翻轉,成為

7 8 9
4 5 6
1 2 3

再進行水平翻轉,成為

9 8 7
6 5 4
3 2 1

範例輸入 #2

2 4
0 1 2 3
4 5 6 7

範例輸出 #2

7 6 5 4
3 2 1 0

範例輸入 #3

4 3
10 20 30
40 50 60
70 80 90
100 110 120

範例輸出 #3

120 110 100
90 80 70
60 50 40
30 20 10

Comments

There are no comments at the moment.