嘿嘿,時間回到西元一世紀,柏油控asas來到了偉大的羅馬帝國推銷最新的柏油技術,不到三年,整個羅馬帝國的路面已經鋪滿了柏油。
這天,史學家Josephus、他的部下和asas被羅馬人追殺逃到了一塊空地,他們討論是自殺還是被俘,最終決定自殺,並以數人頭的方式決定殺掉誰。但是呢,腹黑的Josephus早就計算好要站哪個位置,所以當大家圍成一圈後,Josephus就故意指派一個人,好讓自己可以最後存活。
「計畫通哩……」Josephus暗笑,此時只剩Josephus和asas。
「唉唉,太天真了Josephus。」當數數到最後,asas最後咧嘴一笑,數到了Josephus。
「怎麼可能!等等……啊!!!!」鉈刀沾滿了血跡,asas大笑:「哇哈哈哈哈哈,我將成為新世界的神!」
(其實筆者已經玩到沒哏了,不要噓我……)
當現在的我們回顧歷史,其實Josephus並沒有算錯,可是為什麼到了最後還是老馬了呢?考古學家有跨時代的發現,當初羅馬有鋪柏油,因此在大太陽站在柏油路上,有些人因為不耐高溫而偷偷換了位置,因此這才是Josephus失敗的最大原因。
為了彌補這個錯誤不再讓Josephus的英靈再出來作亂,我們得寫一個程式讓Josephus在某杯戰爭中贏得某杯,我們必須幫他。(逃)
只有一組測資。
輸入的第一行有三個整數n、k、m(0<=n、k、m<=1000),n代表人數,編號從0、1、……、n-1;k代表每k個一數就殺一個人,譬如從0開始數,則數到第k個人的編號為k-1,則殺掉編號k-1這位。每殺掉一個人,編號就從下一位開始編號0、1、……。m代表每殺幾個人,這之中的人就會互相換位子一次。
接下來n行有一個整數c(-2000000000<=c<=2000000000),其中第i行代表編號i-1的人執行的動作,當每殺m個人時,會跟當前編號c的人互換,若c的範圍超過當前編號或者是負數時,則不做動作。而當輪到換位子的情形時,則先將所有人換過位子後再重新編號。
3 3 1 1 3 0
0
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|