看懂題以後其實也不太難。
題意有點難懂,但是藉助樣例不難發現第一次操作是把原圖按順時針轉 \(90^{\circ}\)。此時再看題面,易得操作就是每次把圖的一部分順時針旋轉 \(90^{\circ}\),最開始為整圖操作,每次操作後都捨棄當前操作的圖的最外層一圈後再進行下一次操作。
看懂題意以後,我們發現直接模擬肯定是不行的,但是我們可以分別對每個點考慮。
具體的,我們設點 \((x,y)\) 一共被操作了 \(k\) 次,因為操作時 \(4\) 次一迴圈,所以我們只需要考慮 \(k\) 對 \(4\) 取餘後的值。
容易發現點 \((x,y)\) 旋轉一次後座標會變成 \((y,n-x+1)\),那麼我們只需要執行 \(k\) 次後就可以得到 \((x,y)\) 現在的位置。
這樣我們構建一張新矩陣,把原圖上的點與其一一對應,最後輸出即可。
提交記錄