约瑟夫环-poj2244 - Eeny Meeny Moo

来源:互联网 发布:吴京的地位知乎 编辑:程序博客网 时间:2024/09/21 06:33

题意:

问每次走几步可以最终保留的是2号

注意首先删除1号城市,然后开始报号,第M个被删除,问M为多少最后可以留下2

思路:

之前理解错了,先直接删除1号,再开始报数。

约瑟夫裸题是从1开始报数,这个变形是从2开始报数

把1删除,按裸题思路所有编号前移一位即可

#include <iostream>#include <stdio.h>using namespace std;int main(){    int n,m;    cin>>n>>m;    if(n==1)        cout<<1<<endl;    else    {        int win=0;        for(int i=2;i<=n;i++)            win=(win+m)%i;        cout<<win+1<<endl;                                  }    return 0;}


0 0
原创粉丝点击