a550: [模板] Linked-List / 約瑟夫問題
標籤 :
通過比率 : 0人/1人 ( 0% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-11-14 08:43

內容

人們站在一個等待被處決的圈子裡。 計數從圓圈中的編號為1的人開始,並沿順時針方向圍繞圓圈進行。 在跳過指定數量的人之後,處刑下一個人。 對剩下的人重複該過程,從下一個人開始,朝同一方向跳過相同數量的人,直到只剩下一個人,並被釋放。

問題即,給定人數$N$和要跳過的數字$M$,選擇初始圓圈中的位置以避免被處決。

 

以人數為5,每次跳過2人為例:

1 2 3 4 5

從1開始往下數兩人,處刑3號人

1 2 4 5

從4開始往下數兩人,處刑1號人

2 4 5

從2開始往下數兩人,處刑5號人

2 4

從2開始往下數兩人,處刑2號人

4

剩下4號,釋放,即為答案

輸入說明

第一行有兩個數字$N,M$,圈內人數和跳過人數

$1\le N,M \le 5000$

輸出說明

輸出最後釋放的人

範例輸入 #1
5 2
範例輸出 #1
4
範例輸入 #2
7 1
範例輸出 #2
7
測資資訊:
記憶體限制: 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
提示 :
標籤:
出處:
[管理者:
haha (大學長)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」