解題思路:
這題題目測資範圍R,C,M都小於10,如果直接做的話複雜度應該就是O(RCM)(就是按照題目的意思把輸入的矩陣反著操作),限制2s應該是可以順利通關
🌟因為是要從B推回原先的矩陣,因此需要將輸入指令倒著走一次(例如原本是A矩陣翻轉、翻轉、順時針旋轉90度得到B矩陣,就要將B矩陣逆時針旋轉90度、翻轉、翻轉,才能變成原先的A矩陣),因此現在問題就只剩下如何完成翻轉和逆時針旋轉90度了
1. 翻轉:這邊是指上下翻轉,因此較為簡單,只要將第i列第j行的元素跟第(c-i)列第j行的元素交換即可,且其中i跟(c-i)會在一半的地方交會,且在c是奇數時(c+1)/2的那行可以不做任何操作,因此讓i從0~c/2執行過一次即可
2. 逆時針旋轉90度:這個稍微難一點,可以想做事將左上角固定,逆時針旋轉90度,如此一來可以發現就是將(i,j)位置的元素移動到(r-j-1,i)
✏️多筆測資就只要把一開始的輸入包在while裡就好了