本題請你對一個陣列作排序,給定陣列大小為N,及正整數M,請你依陣列元素取M的模數(value Mod(M),即對M取餘數)大小,由小到大依序排序所有陣列元素,若取模數後其值大小相同,在此情況下分三種情況進行討論:
- 若兩個元素值分別為一個奇數與一個偶數,則將奇數排在偶數前面。
- 若兩個元素皆為奇數,則較大的奇數將排在較小的奇數前面。
- 若兩個元素皆為偶數,則較小的偶數將排在較大的偶數前面。
Input
輸入有20組測試資料,每組資料一開始有兩個整數N(0 < N <= 10000)與M(0 < M <= 10000),接下來會有N列整數,每個整數皆能以32位元的有號整數來表示。當N = 0 且 M = 0 時表示測試資料結束。
Output
請毎組測試資料輸出N+1列,第一列請輸出N與M的值,接下來的N列請分別輸出排序後的陣列元素。最後也請把兩個0印出在最後一列。
Sample Input Output for Sample Input
15 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0
| 15 3 15 9 3 6 12 13 7 1 4 10 11 5 2 8 14 0 0 |
沒有留言:
張貼留言