14867 - Matrix Max Rotate   

Description

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

 

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

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

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

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

4.如果最右邊或最下面的格子無法組成完整的 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