51nod-1875 丢手绢
![](http://file.51nod.com/images/icon/ok.png)
![](http://file.51nod.com/images/icon/star.png)
![](http://file.51nod.com/images/icon/plus.png)
六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有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。
多组测试数据。 每一行给出一个整数G( 0 < G < 14),G=0的时候表示输入结束。
输出多行,表示每一组数据的答案。
3 4 0
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 丢手绢相关推荐
- 51nod 1875 丢手绢
六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C)个人的 ...
- 1875 丢手绢 约瑟夫环变形 枚举
1875 丢手绢 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个 ...
- 51nod1875丢手绢
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1875 1875 丢手绢 基准时间限制:1 秒 空间限制:131072 ...
- 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...
- 数据结构与算法--我们来玩丢手绢(约瑟夫环问题)
我们来玩丢手绢 昨天我们打扑克,今天我们丢手绢 丢手绢我们都知道这个游戏,他的由来由约瑟夫 (Josephus)提出来的 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,3 ...
- 丢手帕程序C语言,语言丢手绢教案中班
语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...
- 数据结构与算法: 约瑟夫问题(丢手绢)
数据结构与算法: 约瑟夫(丢手绢)问题(单向链表,双向链表解决) Tips: 采用java语言, 关注博主,底部附有完整代码 采用到的知识点: 单向环形链表 双向环形链表 单向 / 双向 环形链表出圈 ...
- [NC207040]丢手绢
[NC207040]丢手绢 这道题是牛客上的一道题,这道题看似简单,但是坑点不少,好了,我们一起来看看题意吧: 题目描述 "丢~丢~丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓 ...
- Java 丢手绢游戏 求和_大班游戏活动_丢手绢
本育儿文章是育儿天堂最新发布的<大班游戏活动_丢手绢>的详细页面,觉得有用就收藏了,这里给大家转摘到育儿天堂,看完如果觉得有用请记得收藏. 大班游戏运动:丢手绢 滨州市滨城区杨柳雪镇教诲尝 ...
最新文章
- VS2015 win64下配置Opencv3.4.7
- 计算机使用DHCP动态分配参数,某单位采用DHCP进行IP地址自动分配,用户收到()消息后方可使用其中分配的IP - 信管网...
- su - oracle和su oracle有什么区别
- python笔记九(迭代)
- .NET 6 中的七个 System.Text.Json 特性
- java peer_Java PeerConnection.getStats方法代码示例
- 算法学习总结(1)——基本数据结构
- 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
- H5 37-背景缩写
- jQuery实现页面元素置顶时悬浮
- 物理内存是如何组织管理的
- Atitit 互联网 技术公司的组织架构 事业部 分公司
- 微型计算机输入输出的工业标准是7位,工业用微型计算机试题3
- 夜神模拟器连接手柄无反应_夜神安卓模拟器怎样连接手柄 夜神模拟器连接手柄图文教程...
- 相机和镜头选型计算公式
- 大数据要学javaweb吗_大数据运维需要学Java吗?
- 【深坑】记一次MacBook pro 恢复出厂设置抹盘重装系统
- SAR 三点回波模拟 正侧视RD算法(经典好用)
- 一年365天,每周5个工作日,进步1%,两个休息日退步1%,最终进步到多少
- 基于Hi3559A ARM64位嵌入式平台的OpenCV2.4.9+ffmpeg2.0.7移植及应用