描述
有n個瓶子,編號 1 ~ n,放在架子上。
比如有5個瓶子:
2 1 3 5 4
要求每次拿起2個瓶子,交換它們的位置。
經過若干次後,使得瓶子的序號為:
1 2 3 4 5
對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。
如果瓶子更多呢?你可以通過程式設計來解決。
輸入第一行: 乙個正整數n(n<10000), 表示瓶子的數目
第二行:n個正整數,用空格分開,表示瓶子目前的排列情況。
輸出輸出資料為一行乙個正整數,表示至少交換多少次,才能完成排序。
輸入樣例 1
5題目要求互換瓶子,最少的互換就是每次都和比他小1的互換,所以我們在遍歷陣列裡面又加入了一次迴圈找到比它小1的數。3 1 2 5 4
輸出樣例 1
3
#include using namespace std;
int a[10005];
int main()
if(t!=i)
}cout<}
return 0;
}
藍橋 交換瓶子
交換瓶子 有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。如果瓶子更多呢?你可以通過程式設計來解決。輸入格式為兩行 第一行 乙個正整...
藍橋 交換瓶子
有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4 要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。如果瓶子更多呢?你可以通過程式設計來解決。輸入格式為兩行 第一行 乙個正整數n n...
1720 交換瓶子
1720 交換瓶子 時間限制 1 sec 記憶體限制 128 mb 提交 狀態 討論版 題目描述 有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4 要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換...