题目描述
n只猴子围坐成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。 输入
输入两个整数n和m,<=m<=n<=。 输出
输出猴王的编号 样例输入
复制 样例输出
复制
 #include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 200
struct monkey{
int xu;//猴子的序号
int biao;//标记猴子是否出局
}monk[N];
int main()
{
int n,m,i,j,k,flag,t,sum;
while(scanf("%d %d",&n,&m)!=EOF)
{
for(i=;i<=n;i++)
{
monk[i].xu=i;
monk[i].biao=;
}//初始化
flag=;
k=;
while(flag!=)//当只剩下一只猴子没有出局时跳出
{
for(i=;i<=n;i++)
{
/*sum=0;
for(j=1;j<=n;j++)
{
if(!monk[j].biao)
{
sum++;
t=j;
}
}
if(sum==1)
break;*/ //把这部分删掉的话 当m=1时,没有结果,但可以提交正确(后台数据--2333)
//审题需要考虑特殊情况,最好加上
if(!monk[i].biao)//如果该猴子没有出局
{
k++;
if(k==m)
{
monk[i].biao=;
k=;//重新开始报数
}
}
}
sum=;// 统计还有几只猴子没有出局
for(i=;i<=n;i++)
{
if(!monk[i].biao)
{
sum++;
t=i;// 最后更新为最后一只没有出局的猴子
}
}
if(sum==)
flag=;//跳出循环
}
printf("%d\n",t);
}
return ;
}

zznuoj 1195 : 猴子选大王(结构体专题)的更多相关文章

  1. sicily 猴子选大王

    题目描述 猴子选大王,有N只猴子,从1-N进行编号.它们按照编号的顺时针方向,排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报1,以后每只猴子报的数字都是它前面猴子所报数字加1.如果一只猴子报的数 ...

  2. POJ3750: 小孩报数问题+一道经典约瑟夫问题(猴子选大王)

    又一次因为一个小错误,POJ上Wrong Answer了无数次..... 在差不多要放弃的时候,发现了这个猥琐的不能再猥琐的bug,改完了提交就AC了,简直无语.... 本题wo采用模拟方法: 1 # ...

  3. PHP编程----猴子选大王

    <?php/** * 猴子选大王 * 17个猴子围成一圈,从某个开始报数1-2-3-1-2-3---报"3"的猴子就被淘汰, * 游戏一直进行到圈内只剩一只猴子它就是猴大王了 ...

  4. 猴子选大王 (约瑟夫环)(c#)

    猴子选大王问题: 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1到m的顺序围坐一圈, 从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子, ...

  5. PHP洗牌、猴子选大王两个小算法

    <一>洗牌算法 /** *洗牌算法washCard *@param $cardNum *@return array */ function washCard($cardNum) { $ca ...

  6. 猴子选大王的c#实现

    原文地址:猴子选大王的c#实现作者:余文 今天被问到了猴子选大王的意思,题目大意就是说有n只猴子围坐成一个圈,按顺时针方向从1到n编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再 ...

  7. 猴子选大王【PHP】

    目录 猴子选大王 指针解决 数组压栈 猴子选大王 一群猴子排成一圈,按1,2,...,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不 ...

  8. C语言程序设计-猴子选大王[链表应用]

    2032 猴子选大王 Description 有N只猴子,从1~N进行编号.它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前 ...

  9. 约瑟夫环问题(猴子选大王)PHP版

    约瑟夫斯问题问题有时候也被描述成猴子选大王问题,题目如下.(最后会贴上约瑟夫问题的来历) 一群猴子排成一圈,按1,2,…,n依次编号. 然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再 ...

随机推荐

  1. Ubuntu系统建立交叉编译环境

    飞凌 FET6818核心板 解压编译器: tar zxvf arm-cortex_a9_eabi-4.7-eglibc-2.18.tar.gz  -C/opt 设置默认编译环境: vi /etc/pr ...

  2. SiteMesh3简介及使用

    所属专栏: Java开发经验记录   最近项目用到SiteMesh3,研究学习一段时间后决定写篇博文来记录收获. SiteMesh SiteMesh 介绍 工作原理 配置及使用 下载 1添加maven ...

  3. devexpress—WPF

    https://docs.devexpress.com/WPF/7875/index Ocelot 资源汇总 https://www.cnblogs.com/shanyou/p/10363360.ht ...

  4. Spring-----入门

    Spring 入门 一.首先导入核心jar包 commons-logging-1.1.3.jar                 日志        spring-beans-4.2.4.RELEAS ...

  5. 低版本IDE 打开 高版本 IDE 代码时 unit

    可以用单元别名 比如Vcl.Forms=Forms 来兼容.

  6. lua 基础 之 坑一样的地方

    -- local 局部-- local表=全局表,是同一个表,这主要是由于lua的表机制是匿名的,相当于函数的指针,local foo = foo,-- 即使本地foo没有在全局_G注册,还是引用的是 ...

  7. Python随笔--Pickle

    遇到问题:不能文件名为pickle.py

  8. OpenCV3如何使用SIFT和SURF Where did SIFT and SURF go in OpenCV 3?

    Installation and Usage If you have previous/other version of OpenCV installed (e.g. cv2 module in th ...

  9. Collections集合工具类

    一.Collection与Collections Collection 是所有单列集合的根接口 Collection 是操作集合的工具类 二.Collections中常见的方法:(大都是static方 ...

  10. html的基础属性

    1.name属性: name用于指定标签元素的名称.<a>标签内必须提供href或name属性. 例子: <a name="value"> 2.id属性: ...