51nod 1073 约瑟夫环
生活随笔
收集整理的這篇文章主要介紹了
51nod 1073 约瑟夫环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
N個人坐成一個圓環(編號為1 - N),從第1個人開始報數,數到K的人出列,后面的人重新從1開始報數。問最后剩下的人的編號。 例如:N = 3,K = 2。2號先出列,然后是1號,最后剩下的是3號。 ?收起
約瑟夫環模板,遞推。
代碼: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define MAX 50000 #define DMAX 10000 using namespace std; typedef long long ll; int n,k,ans = 1; int main() {scanf("%d%d",&n,&k);for(int i = 2;i <= n;i ++) {ans = (ans + k) % i;///ans = (ans + k % i) % i }printf("%d",ans + 1); }
輸入
2個數N和K,表示N個人,數到K出列。(2 <= N, K <= 10^6)輸出
最后剩下的人的編號輸入樣例
3 2輸出樣例
3約瑟夫環模板,遞推。
代碼: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define MAX 50000 #define DMAX 10000 using namespace std; typedef long long ll; int n,k,ans = 1; int main() {scanf("%d%d",&n,&k);for(int i = 2;i <= n;i ++) {ans = (ans + k) % i;///ans = (ans + k % i) % i }printf("%d",ans + 1); }
?
轉載于:https://www.cnblogs.com/8023spz/p/10053060.html
總結
以上是生活随笔為你收集整理的51nod 1073 约瑟夫环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac os硬盘空间释放
- 下一篇: ansible基础-playbooks