有n個數字, 2 < n < 1000000, 其值介於1和10000000之間。
今將其依順時鐘方向放入一環狀圖中,所形成的環狀數字即是以第一個元素當最左邊數值,由左向右依順時鐘方向加入環狀圖中元素。
如2, 8, 5, 11, 10, 7這6個數字所形成的環狀數字為28511107。在由100000、100001、 100002, … ,999999這900000個數字所形成的環狀數字為100000100001100002…999999。
現我們要找出環狀數字的對應數字, 其規則如下;
1. 在環狀圖中相鄰兩元素都必需互質。
2. 若有多個可能之排列,則在這些可能之排列中選出能產生最小環狀數字的情形,並將第一個元素 移出,放入對應數字最左邊位數。
3. 若無滿足1之排列,則依產生最小環狀數字排列,將第一個元素移出,對應數字最左邊位數補0
4. 若在步驟2, 3中,最小環狀數字有多種排列方式,則依位數多寡依序由左向右排列,為數最多者排在最左邊。
5. 若環狀圖中只剩一數字,則將此數字放入對應數字最左邊位數後,操作結束。
6. 若有剩餘元素則重複1‐4步驟操作。
7. 印出產生之對應數字。
如在2, 8, 5, 11, 10, 7 例子中,第一次產生最小環狀數字為10112587,因此將10移出,對應數字此時為10,第二次產生最小環狀數字為112578,因此將11移出,對應數字此時為1110,第三次產生最小環狀數字為2587,因此將2移出,對應數字此時為21110。第四次產生最小環狀數字為 578,因此將5移出,對應數字此時為521110,第五次產生最小環狀數字為78,因此將7移出,對應數字此時為7521110,最後只剩一元素8,對應數字即為87521110。
第一列為測試案例數目 X,其中0 < X < 100。
第二列為第一測試案例資料筆數n之值。
第三列為測試資料,每個元素間以空白隔開。
若有更多測試案例,會以相同模式呈現在接下來的列內。
一列印出一個案例產出之環狀對應數字。
3 6 2 5 8 11 10 7 4 2 6 8 10 3 2 22 222
87521110 8000 200
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |