299 Train Swapping
簡易翻譯和條件:
題目我沒看 這題我只是用輸入輸出就開始寫了XD
不過成功後我有看一下題目,題意大致上是我們需要寫一個演算法交換貨物火車(是這樣翻嘛?)上的貨物,當排序好以後就可以使每一輛火車卸貨達到最大的效率。
然而交換貨物的方式只能跟隔壁的交換–以180度交換。
輸入輸出:
輸入會由一個 Case Number 開始
代表會有三筆測資
每一筆測資會有一個n獨自一行,和n個數字一行由空白隔開。
輸出是每筆測資一行輸出
格式如下~
Optimal train swapping takes {count} swaps.
這種交換方式就是 Bubble Sort 嘛~
如果有需要的話我可以在寒假寫一篇三個基本的 Sort 教學~
(Kotlin, Python, C++, NodeJS… etc)
這邊就不多說 Bubble Sort 是什麼啦~
下面提供簡單的 Python 寫法~
程式碼:
cases = int(input()) for case in range(cases): n = int(input()) arr = [] # 輸入題目的資料 x = input() for xx in x.split(): arr.append(int(xx)) count = 0 # Bubble Sort for j in range(len(arr)): for i in range(len(arr)-1): if arr[i] > arr[i+1]: k = arr[i] arr[i] = arr[i+1] arr[i+1] = k count+=1 # 題目需要紀錄交換幾次,就紀錄再count裡面 print(f"Optimal train swapping takes {count} swaps.") # 輸出題目要的Output
