在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休後,火車站決定將這一工作自動化,其中一項重要的工作是編乙個程式,輸入初始的車廂順序,計算最少用多少步就能將車廂排序。
共兩行。
第一行是車廂總數n(≤10000)。
第二行是n個不同的數表示初始的車廂順序。乙個整數,最少的旋轉次數。
輸入輸出樣例輸入4
4 3 2 1
輸出這道題最主要的考點就是排序演算法。定義乙個計數器控制迴圈的次數,最後的次數就是結果,**如下。
#include
intmain()
}for
(i=0
;i)printf
("%d "
,a[i]);
printf
("%d\n"
,count)
;printf
("\n");
return0;
}
抓住題目本質——排序。
這裡我選擇的是氣泡排序(最基礎、也是最簡單的排序),通過乙個計數器記錄下迴圈的次數,計數器的值就是最終的結果。
排序 車廂重組
在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉 180 度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休後,火車站決定將這一工作自動化,其中...
車廂重組 氣泡排序
problem description 在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休...
1683 車廂重組
個人部落格 doubleq.win 時間限制 1 s 空間限制 1000 kb 題目等級 silver 題解 description 在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,...