uva 133解題報告

2022-06-27 20:30:15 字數 495 閱讀 9240

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

input:10,4,3

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

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

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

UVA133 約瑟夫環變種

為了縮短領救濟品的隊伍,nnglrp決定了以下策略 每天所有來申請救濟品的人會被放在乙個大圓圈,面朝裡面。選定乙個人為編號 1 號,其他的就從那個人開始逆時針開始編號直到 n。乙個 一開始逆時針數,數 k 個申請者,然後另乙個 第 n 個始順時針方向數 m 個申請者,這兩個人就被送去再教育。如果兩個...

救濟金發放(uva 133)

n個人占城一圈,逆時針編號為1 n.有兩個 a從1開始逆時針數,b從n順時針開始。在每一輪中,a數k個數就停下來,b數m個就停下來 注意有可能連個 停在同乙個人上 接下來被 選中的人離開隊伍。輸入n,k,m輸出每輪裡被選中的人的編號 如果有兩個人 先輸出被a選中的 注意 輸出的每個數應當恰好佔3列。...

UVa 133 救濟金發放

這題的話,我們首先對於移動函式可以知道,因為只是順逆的關係,也就是加一或者減一,所以我們每次移動的時候,都補上乙個小於n的最大整數,然後取模,這樣就不會有負數,而且加之後的結果不會超過2 n,所以我們取模的結果就是0到n 1,然後加上1就可以得到原位置了。題目中的逆時針就是加一,順時針就是減一。in...