回分類題庫
d151: 2010 SIG WINTER B - 逃出減肥中心
出處:

Difficulity : 1
Accepted : 31 Times | Submit :73 Times | Clicks : 1483
Accepted : 25 Users | Submit : 31 Users | Accepted rate : 81%
Time Limit :10000 ms | Memory Limit : 64000 KBytes
題目加入時間 : 2010-02-09 02:20

Content :

胖達因為過胖所以被國家強制送到減肥中心。他想盡辦法要離開那個鬼地方。正好有一天國家發現因為減肥中心的人過多,消耗了國家太多的經費,於是上層下了一個命令要以樂透的方式讓一些幸運的傢伙(共有X個人)可以離開減肥中心,回復每天吃兩個便當的幸福生活。

樂透的方式是這樣的:準備一副撲克牌,叫所有參加的人排成一列,然後翻開撲克牌中的第一張,假設該張撲克牌的點數是K,首先從第一個人算起,到第K 個人那個人就被淘汰出列,然後下一個人又從1算起,第K個人又被淘汰出列,如此下去直到算到最後一人為止。當算完最後一人時(不管算到多少),翻開下一張撲克牌,然後依照上面的點數又從第一個人從1開始算,並且仿照前面的方式淘汰人。如此一直持續下去。當然,在淘汰的過程中,如果剩下的人數為X人,遊戲就結束了,這X人就是可以離開減肥中心的幸運者。

胖達有辦法在撲克牌上面動手腳,所以他可以事先知道撲克牌的點數,但是在樂透開始之前一分鐘他都無法知道到底會有多少人會參加樂透。你的任務就是幫他寫一個程式,在最後一分鐘知道有多少人參加後,馬上為他算出他該站在哪一個位置,確保他可以離開減肥中心。

在此提供一個簡單的例子,若有10個人參加樂透,且只能有2幸運的傢伙,而撲克牌出現的點數依次是3,5,4,3,2的話,那麼胖達應該要排在第1或第8個位置。

Input :

每組測試資料1列,每列固定有22個整數,第一個整數N(1 <= N <= 50)代表有多少人參加樂透。第二個整數X(1 <= X <= N)代表有多少個幸運的傢伙可以離開減肥中心。接下來的20個整數依次為胖達所提供的撲克牌出現的點數,這些點數為1到11的整數。

Output :

每組測試資料請輸出這是第幾組測試資料以及胖達可以站的位置(由小到大排)。如果在20張撲克牌內,遊戲沒有結束,請將隊伍中還剩下的人印出。每組測試資料後空一列,請參考Sample Output。

Sample Input :

10 2 3 5 4 3 2 9 6 10 10 6 2 6 7 3 4 7 4 5 3 2
47 6 11 2 7 3 4 8 5 10 7 8 3 7 4 2 3 9 10 2 5 3

Sample Output :

Selection #1 
1 8
 
Selection #2 
1 3 16 23 31 47

Hint :


  

Author :


  Solve it!   Status Forum (0)

C++
C
JAVA
45612. justin6 (4 ms , 224KB)
36996. nothinglo (4 ms , 422KB)
36995. MK (4 ms , 420KB)
17932. Achung (4 ms , 396KB)
76755. alun0922 (6 ms , 358KB)
55083. ag100 (2 ms , 222KB)
55084. ag100 (4 ms , 218KB)
51890. CP2_102703039 (4 ms , 218KB)
50672. acc2see (4 ms , 278KB)
38862. cp100703009 (4 ms , 226KB)
88738. nwgs524513cja (102 ms , 224KB)

執行時間會受很多因素影響因此僅供參考,主機等級請看這裡