1. 题目描述
  2. n只猴子围坐成一个圈,按顺时针方向从1n编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。
  3.  
  4. 输入
  5. 输入两个整数nm,<=m<=n<=。
  6.  
  7. 输出
  8. 输出猴王的编号
  9.  
  10. 样例输入
  11. 复制
  12.  
  13. 样例输出
  14. 复制
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<iostream>
  4. #include<algorithm>
  5. using namespace std;
  6. #define N 200
  7. struct monkey{
  8. int xu;//猴子的序号
  9. int biao;//标记猴子是否出局
  10. }monk[N];
  11. int main()
  12. {
  13. int n,m,i,j,k,flag,t,sum;
  14. while(scanf("%d %d",&n,&m)!=EOF)
  15. {
  16. for(i=;i<=n;i++)
  17. {
  18. monk[i].xu=i;
  19. monk[i].biao=;
  20. }//初始化
  21. flag=;
  22. k=;
  23. while(flag!=)//当只剩下一只猴子没有出局时跳出
  24. {
  25. for(i=;i<=n;i++)
  26. {
  27. /*sum=0;
  28. for(j=1;j<=n;j++)
  29. {
  30. if(!monk[j].biao)
  31. {
  32. sum++;
  33. t=j;
  34. }
  35. }
  36. if(sum==1)
  37. break;*/ //把这部分删掉的话 当m=1时,没有结果,但可以提交正确(后台数据--2333)
  38. //审题需要考虑特殊情况,最好加上
  39. if(!monk[i].biao)//如果该猴子没有出局
  40. {
  41. k++;
  42. if(k==m)
  43. {
  44. monk[i].biao=;
  45. k=;//重新开始报数
  46. }
  47. }
  48. }
  49. sum=;// 统计还有几只猴子没有出局
  50. for(i=;i<=n;i++)
  51. {
  52. if(!monk[i].biao)
  53. {
  54. sum++;
  55. t=i;// 最后更新为最后一只没有出局的猴子
  56. }
  57. }
  58. if(sum==)
  59. flag=;//跳出循环
  60. }
  61. printf("%d\n",t);
  62. }
  63. return ;
  64. }

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. lnamp环境搭建博客、论坛

    实验环境:Centos6.5 源码安装Nginx yum安装Apache.php.Mysql Mysql: yum -y install mysql-server  安装Mysql数据库 /etc/i ...

  2. ZABBIX安装过程中relocation error报错解决办法

    错误提示: /usr/sbin/zabbix_server: relocation error: /usr/sbin/zabbix_server: symbol mysql_next_result, ...

  3. 关于Django的配置

    一. 下载与安装Django             登录Django的官网,https://www.djangoproject.com/download/,在网页的左边有下载压缩包,下载后解压在py ...

  4. java项目 在 linux ubuntu 上的部署相关

    --------------------JDK在linux ubuntu上的安装------------------------------------------------------------ ...

  5. 实例:用户界面控件Kendo UI vs DevExpress对比评测一

    在一次使用ASP.NET MVC进行开发的Web项目中,我们需要用户界面控件来帮助实现界面的大部分功能.由于项目比较复杂,我们最终确定对 Kendo UI 和 DevExpress 这两款国际知名的用 ...

  6. el和jstl标签库讲解视频

    https://www.bilibili.com/video/av22415283/?p=1

  7. LAD 线性判别分析

    线性判别分析,简称LDA,是一种线性学习方法. 常用来降维,是一种有监督的降维方法,是基于最佳分类效果的降维方法. 核心思想 给定训练样本,带label,设法将样本投影到一条直线上,使得同类样例的投影 ...

  8. jquery slideDown 控制div出现的方向

    .custom-popup { position: absolute; /*top: 0;*/ 上向下 ; 下向上 ; ; display: none; width: 100%; height: 10 ...

  9. nmon的安装使用

    一.下载Nmon 根据CPU的类型选择下载相应的版本: http://nmon.sourceforge.net/pmwiki.php?n=Site.Download http://sourceforg ...

  10. mybatis(3)---传参数的方法

    1.传一个参数 //接口方法List<EmpVo> find(int empId); //xml配置 <select resultType="com.ht.mapper.E ...