1073 約瑟夫環
基準時間限制:1 秒 空間限制:131072 kb 分值: 0
難度:基礎題
n個人坐成乙個圓環(編號為1 - n),從第1個人開始報數,數到k的人出列,後面的人重新從1開始報數。問最後剩下的人的編號。
例如:n = 3,k = 2。2號先出列,然後是1號,最後剩下的是3號。
input
2個數n和k,表示n個人,數到k出列。(2 <= n, k <= 10^6)output
最後剩下的人的編號input示例
3 2output示例
3解題思路:直接模擬會超時。
遞推公式:f[1]=0,f[n]=(f[n-1]+k)%n。f[i]是有i個人時,勝出的那個人的編號(編號從0~n-1)
#include int calc(int n,int k)
int tmp=(calc(n-1,k)+k)%n;
return tmp;
}int main()
51Nod 1073 約瑟夫環
1073 約瑟夫環 題目 n個人坐成乙個圓環 編號為1 n 從第1個人開始報數,數到k的人出列,後面的人重新從1開始報數。問最後剩下的人的編號。例如 n 3,k 2。2號先出列,然後是1號,最後剩下的是3號。input 2個數n和k,表示n個人,數到k出列。2 n,k 10 6 output 最後剩...
51nod 1073 約瑟夫環
問題描述 n個人坐成乙個圓環 編號為1 n 從第1個人開始報數,數到k的人出列,後面的人重新從1開始報數。問最後剩下的人的編號。例如 n 3,k 2。2號先出列,然後是1號,最後剩下的是3號。輸入 2個數n和k,表示n個人,數到k出列。2 n,k 10 6 輸出 最後剩下的人的編號 樣例輸入 3 2...
51nod 1073 約瑟夫環
1073 約瑟夫環 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 n個人坐成乙個圓環 編號為1 n 從第1個人開始報數,數到k的人出列,後面的人重新從1開始報數。問最後剩下的人的編號。例如 n 3,k 2。2號先出列,然後是1號,最後剩下的是3號。input 2個數n和...