14882 - Matrix Max Rotate   

Description

給定一個大小為 N × M 的整數矩陣,請你進行以下運算:

 

步驟一:每一個 2×2 區塊取最大值

將矩陣從左到右、從上到下分成許多 不重疊的 2×2 區塊

每一個 2×2 區塊取出其中的 最大值

使用這些最大值組成一個新的矩陣並輸出

如果最右邊或最下面的格子無法組成完整的 2×2 區塊,則忽略它們 

 

步驟二:將壓縮後的矩陣整體進行「逆時針旋轉一格」

所謂「逆時針旋轉一格」指的是:

最外圈的元素沿著外圈路徑逆時針移動一格

中間如果還有更小的圈,依序同樣逆時針挪動一格(就像多層同心方形)

 

步驟二的實際旋轉方式如下,當直行與橫列相同時:

當直行與橫列不同時:

Input

N M

a11 a12 ... a1M

a21 a22 ... a2M

...

aN1 aN2 ... aNM

 

Note:

  1. 第一行:兩個正整數 N、M(2 ≤ N,M ≤ 100);接下來 N 行:每行 M 個整數 aij(0 ≤ aij ≤ 1000),表示矩陣元素
 

Output

b11 b12 ... b1M'

b21 b22 ... b2M'

...

bN'1 bN'2 ... bN'M'

 

Note:

  1. 輸出的最後必須要有一個換行符號 (“\n”)
  2. 元素間以空格分隔
 

Sample Input  Download

Sample Output  Download

Tags




Discuss