1875 丢手绢 
基准时间限制:1 秒 空间限制:131072 KB 分值: 20  难度:3级算法题

 收藏
 关注

六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C。第i(1<=i<C)个人的右边是i+1,第C个人的右边是1。然后再给出一个常数E。刚开始的时候1号小朋友拿着手绢,接下来游戏开始,在游戏的每一轮,拿手绢的人会把手绢向右边传递E-1个人,拿到手绢的人退出圈,把手绢递给他右边的小朋友,剩下的人向中间挨紧,把圈中的空位补满。然后开始下一轮,如此往复。直到圈中只剩一个人。比如C=6,E=5的时候,出圈的顺序是5,4,6,2,3,最后1号小朋友留在了圈中。

现在有2G个小朋友,要求一个最小的常数E,使得这2G个小朋友玩了G轮游戏之后,出圈的小朋友编号刚好是G+1到2G。

Input
多组测试数据。
每一行给出一个整数G( 0 < G < 14),G=0的时候表示输入结束。
Output
输出多行,表示每一组数据的答案。
Input示例
3
4
0
Output示例
5
30

思路:模拟其操作即可,

对于G为1-13,因此可以先搜索出答案保存在数组中,对于每个G,ans从n+1开始搜索,首先手帕在第一个人手上即x=1,进行了k轮后,就只剩下n-k个人了,因此每次判断要淘汰的人时,x=(x+ans-1)%(n-k) ,注意当(x+ans-1)%(n-k)==0时,就说明手帕在最后一个人手上即x=n-k,每次判断 x是否大于n,若x<=n则ans++继续寻找。

Code :

#include<iostream>
using namespace std;int n;
int a[15];int Find(int n);
int main()
{ios::sync_with_stdio(false);for(int i=1;i<14;++i)a[i]=Find(i);while(cin>>n&&n){cout<<a[n]<<endl;}return 0;
}int Find(int n)
{int ans=n;bool boo=false;while(!boo){boo=true;ans++;int x=1;for(int i=0;i<n;++i){if((x+ans-1)%(2*n-i)==0){x=2*n-i;}else    x=(x+ans-1)%(2*n-i);if(x<=n){boo=false;  break;}}}return ans;
}

51nod-1875 丢手绢相关推荐

  1. 51nod 1875 丢手绢

    六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C)个人的 ...

  2. 1875 丢手绢 约瑟夫环变形 枚举

    1875 丢手绢 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个 ...

  3. 51nod1875丢手绢

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1875 1875 丢手绢  基准时间限制:1 秒 空间限制:131072 ...

  4. 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)

    题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...

  5. 数据结构与算法--我们来玩丢手绢(约瑟夫环问题)

    我们来玩丢手绢 昨天我们打扑克,今天我们丢手绢 丢手绢我们都知道这个游戏,他的由来由约瑟夫 (Josephus)提出来的 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,3 ...

  6. 丢手帕程序C语言,语言丢手绢教案中班

    语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...

  7. 数据结构与算法: 约瑟夫问题(丢手绢)

    数据结构与算法: 约瑟夫(丢手绢)问题(单向链表,双向链表解决) Tips: 采用java语言, 关注博主,底部附有完整代码 采用到的知识点: 单向环形链表 双向环形链表 单向 / 双向 环形链表出圈 ...

  8. [NC207040]丢手绢

    [NC207040]丢手绢 这道题是牛客上的一道题,这道题看似简单,但是坑点不少,好了,我们一起来看看题意吧: 题目描述 "丢~丢~丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓 ...

  9. Java 丢手绢游戏 求和_大班游戏活动_丢手绢

    本育儿文章是育儿天堂最新发布的<大班游戏活动_丢手绢>的详细页面,觉得有用就收藏了,这里给大家转摘到育儿天堂,看完如果觉得有用请记得收藏. 大班游戏运动:丢手绢 滨州市滨城区杨柳雪镇教诲尝 ...

最新文章

  1. VS2015 win64下配置Opencv3.4.7
  2. 计算机使用DHCP动态分配参数,某单位采用DHCP进行IP地址自动分配,用户收到()消息后方可使用其中分配的IP - 信管网...
  3. su - oracle和su oracle有什么区别
  4. python笔记九(迭代)
  5. .NET 6 中的七个 System.Text.Json 特性
  6. java peer_Java PeerConnection.getStats方法代码示例
  7. 算法学习总结(1)——基本数据结构
  8. 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
  9. H5 37-背景缩写
  10. jQuery实现页面元素置顶时悬浮
  11. 物理内存是如何组织管理的
  12. Atitit 互联网 技术公司的组织架构 事业部 分公司
  13. 微型计算机输入输出的工业标准是7位,工业用微型计算机试题3
  14. 夜神模拟器连接手柄无反应_夜神安卓模拟器怎样连接手柄 夜神模拟器连接手柄图文教程...
  15. 相机和镜头选型计算公式
  16. 大数据要学javaweb吗_大数据运维需要学Java吗?
  17. 【深坑】记一次MacBook pro 恢复出厂设置抹盘重装系统
  18. SAR 三点回波模拟 正侧视RD算法(经典好用)
  19. 一年365天,每周5个工作日,进步1%,两个休息日退步1%,最终进步到多少
  20. 基于Hi3559A ARM64位嵌入式平台的OpenCV2.4.9+ffmpeg2.0.7移植及应用

热门文章

  1. ReactJs入门教程-精华版
  2. 自动打码软件常见问题解答
  3. [新手必备]Unity推箱子小游戏C#代码详解(第一篇-代码部分)
  4. SEO如何获得大量资源
  5. Processing “迁” p5.js【秒懂小白篇】
  6. Linux的初试——VMware的使用和安装,CentOS6.4ISO下载
  7. mov和lea指令的区别
  8. 小程序前端判断的写法
  9. 微信小程序开发从入门到实践 测试6
  10. 我对const修饰符应用的理解