题解 | #约瑟夫环#

约瑟夫环

https://ac.nowcoder.com/acm/problem/22227

#include<algorithm>

using namespace std;

int n,k,m;

int main()
{
    cin>>n>>k>>m;
    int ops=0;
    for(int i=2;i<=n;i++) ops=(ops+m)%i;
    
    cout<<(ops+k)%n;
    return 0;
}
全部评论
这是约瑟夫环的总结规律,n个人的结果 = (n - 1个人的结果 + m)% n,循环中就是用到这个式子,这个式子是从0开始的,所以最后输出的时候需要加上k,表示从k开始,取余n防止超过人数
1 回复 分享
发布于 01-09 22:54 广东
大佬讲讲 看不懂
点赞 回复 分享
发布于 2025-08-18 21:42 黑龙江

相关推荐

985柜员:开发还敢还叫,全部让自测就老实了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
14
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务