題目敘述
第一行輸入$N$,代表有$N$個數字
第二行輸入$N$個數字$a_i$,代表序列中的數字
須達成以下條件:
1.將序列由小排至大
2.輸入時的奇數(偶數)位置在排序完成後,原位置的數字必須為奇數(偶數)
3.交換過程中,只能選取兩項同為奇數(偶數)交換,且交換之兩數中間必須皆為偶數(奇數)。
舉例來說,若$a_l$與$a_r$皆為奇數且$l<r$,則$a_{l+1},a_{l+2},...,a_{r-2},a_{r-1}$需皆為偶數才可以交換$a_l$與$a_r$
4.如果從十位數項即可判斷是否需要交換,則交換次數 +2,反之則+1
$N$
$a_1\ a_2\ ...\ a_N$
依照規則對序列執行操作後,先輸出序列的每一個數字,每個數字以空格隔開
輸出序列完後換行,再輸出由小排到大最少需要幾次交換
10 12 45 63 64 21 35 47 66 23 18
12 21 23 18 35 45 47 64 63 66 22
測資限制
$50\%$
$1 \leq N \leq 3000$
$11 \leq a_i \leq 99$
所有$a_i$皆為奇數
$100\%$
$1 \leq N \leq 3000$
$11 \leq a_i \leq 99$
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |