1. 程式人生 > >uva 133解題報告

uva 133解題報告

題目描述

為了縮短領救濟品的隊伍,NNGLRP決定了以下策略:每天所有來申請救濟品的人會被放在一個大圓圈,面朝裡面。選定一個人為編號 1 號,其他的就從那個人開始逆時針開始編號直到 N。一個官員一開始逆時針數,數 k 個申請者,然後另一個官員第 N 個始順時針方向數 m 個申請者,這兩個人就被送去再教育。如果兩個官員數的是同一個人,那個人則被送去從政,然後2個官員再在剩下的人裡面繼續選直到沒人剩下來,注意兩個被選 中的人是同時走掉的,所以就有可能兩個官員選中一個人。

input:10,4,3

output:4,8,9,5,3,1,2,6,10,7

注意:

我看這道題目的時候作圖解分析時,對於用例輸出中的“1”一直很困擾,一直認為應該是‘10’,後來找到原因:注意兩個被選中的人是同時走掉的,所以就有可能兩個官員選中一個人。

意思就是在同一輪的選人中,第一個官員選了人,但該人並沒有立刻離開隊伍,仍然參加第二個官員的人頭大賽,等第二個選完之後再兩人一起離開。