a505: 環狀對應數字
標籤 : 112資訊學科-彰雲嘉
通過比率 : 0人/1人 ( 0% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-09-28 16:02

內容

有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之值。

第三列為測試資料,每個元素間以空白隔開。

若有更多測試案例,會以相同模式呈現在接下來的列內。

輸出說明

一列印出一個案例產出之環狀對應數字。

範例輸入 #1
3 
6 
2 5 8 11 10 7 
4 
2 6 8 10 
3 
2 22 222
範例輸出 #1
87521110 
8000 
200 
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
112資訊學科-彰雲嘉
出處:
112資訊學科-彰雲嘉 [管理者: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」