13.9 旋轉與翻轉

圖 13-4:順時針轉 90 度——舊圖 (i, j) 跑到新圖 (j, R-1-i)

旋轉和翻轉都是「每一格搬到新位置」,關鍵只有一條座標公式。拿 R \times C 的矩陣 A 來說:

操作 舊圖 (i, j) 搬到 新圖大小 程式
上下翻轉 (R - 1 - i,\ j) R \times C reverse(A.begin(), A.end());(整列對調)
順時針轉 90^\circ (j,\ R - 1 - i) C \times R 新開一張 B(C, vector<int>(R)),B[j][R-1-i] = A[i][j]
逆時針轉 90^\circ (C - 1 - j,\ i) C \times R 把上一條反過來讀:B[i][j] = A[j][C-1-i]

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。