b435: passingpaper
Tags :
Accepted rate : 2人/3人 ( 67% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-03-12 19:34

Content
有一班 N 位同學參加了一個分享大會,並以 1 至 N 把這些同學加以編號。
在大會上有 N 個座位,擺放成環狀,它們以順時針方向順序亦編號為 1 至 N。
大會的主持人叫各同學隨便找個座位坐下,座位編號不一定要和學生編號相同,
即坐在座位 s 的學生的編號不一定是 s。

同學坐好後,主持人取出一張有 M 個空格的紙條,她隨意把紙條交給其中一位學生,並請該學填上他的座位編號後開始分享。
之後,該學生就會用他自己的編號 i,以順時針方向由他相鄰的一位同學起向下數到第 i 位同學,並把紙條交給他。
收到紙條的同學就會把自己的座位編號填在下一格,然後重複同樣的分享流程。
整個流程會不斷重複直至紙條上的空格被填滿為止。

散會後,主持突然想起她忘記了登記哪一位學生坐在哪一個座位上。於是她嘗試從填了座位編號的那張紙條中重新排列出座位 1 至 N 上的學生的編號。
在這過程中可能出現以下三種情況:
1. 剛好可以把所有學生的編號順序排到出來
2. 由於有同學在填寫座位編號時出錯,以至不可能排出一個合理的入座順序
3. 由於資料不足,出現有多個可能的入座順序

在上面第三種情況下,她會選一個數列順序最前的數列作為學生入座的順序。

兩個數列 A=a1, a2, a3, ..., an 和 B=b1, b2, b3, ...,bn 我們說 A 前於 B 若及只若在兩個數列中最先出現不相同的對應數字中 ai < bi
Input
第一行上有一個正整數 T,代表有多少組測試數据,2 ≤ T ≤ 4。隨後有 T 組測試數據,每組數據都有以下格式:
- 每組數據有兩行
 - 第一行上有兩個正整數 N 和 M, 1 ≤ N, M ≤ 100
 - 第二行上有 M 個正整數,這些正整數都在 1 至 N 之間,這 M 個數字順序代表填在紙條上的座位編號
Output
對應於每組測試數據分別輸出一行
- 若是沒有合理入座順序可以找到的話,輸出單一個數字 -1
- 否則輸出一行含有 N 個整數的數列,代表一個可能的同學入座順序 (若有多個可能的話,則取數列順序最前的數列)
Sample Input #1
2
5 4
3 4 2 2
3 3
2 3 1
Sample Output #1
2 5 1 3 4
-1
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (10%): 1.0s , <1K
不公開 測資點#1 (10%): 1.0s , <1K
不公開 測資點#2 (10%): 1.0s , <1K
不公開 測資點#3 (10%): 1.0s , <1K
不公開 測資點#4 (10%): 1.0s , <1K
不公開 測資點#5 (10%): 1.0s , <1K
不公開 測資點#6 (10%): 1.0s , <1K
不公開 測資點#7 (10%): 1.0s , <1K
不公開 測資點#8 (10%): 1.0s , <1K
不公開 測資點#9 (10%): 1.0s , <1K
Hint :
在第一個例子中:
- 座位 3 的同學把紙條交給座位 4 的同學,所以可見座位 3 的同學的編號應為 1
- 座位 4 的同學把紙條交給座位 2 的同學,所以可見座位 4 的同學的編號應為 3
- 座位 2 的同學把紙條交給座位 2 的同學,所以可見座位 2 的同學的編號應為 5 (順時針數到第 5 位同學就是他自己,因為總共只有 5 位同學!)
 
# 非官方測試數據
Tags:
出處:
MOI-J 2025 [管理者:
kulam@g.puic... (林建源)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」