zoukankan      html  css  js  c++  java
  • 约瑟夫问题

    #include<iostream>
    using namespace std;
    int main()
    {
    int m,n,i,a[100],k=0,j;
    cin>>n>>m;
    for(i=1;i<=n;i++)
    a[i]=i;
    for(i=1;;i++)
    {if(i==n+1)
    i=1;
    if(a[i]!=0)
    {if(j==a[i])
    break;
    j=a[i];
    k++;
    if(k==m)
    {a[i]=0;
    k=0;}
    }}
    cout<<j<<endl;
    return 0;
    }

    约瑟夫问题

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 357  Solved: 206
    [Submit][Status][Web Board]

    Description

    n个人想玩残酷的死亡游戏,游戏规则如下: n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。 请输出最后一个人的编号。

    Input

    输入n和m值。

    Output

    输出胜利者的编号。

    Sample Input

    5 3

    Sample Output

    4

    HINT

    第一轮:3被杀 
    第二轮:1被杀 
    第三轮:5被杀 
    第四轮:2被杀 


  • 相关阅读:
    poj 2000
    poj1316
    poj1922
    poj2017
    poj1833 排列
    poj1338
    poj2136
    poj2242
    IE兼容html5标签
    绑定事件后,某些情况下需要解绑该事件
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3766968.html
Copyright © 2011-2022 走看看