1875 丢手绢 约瑟夫环变形 枚举
![](https://file.51nod.com/images/icon/ok.png)
![](https://file.51nod.com/images/icon/star.png)
![](https://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
Code:
#include <bits/stdc++.h>
using namespace std;int hash( int n ){for( int m = 1 ; ; m++ ){int k = 2 * n;int s = 0;while( k > n ){if( s ) s -= 1; s = ( s + m ) % k;if( s <= n && s ) break;k -- ;if( k == n ){return m;} }}
}int main(){int n;int a[20];for( int i = 1 ; i < 14 ; i++ ){a[i] = hash(i);}while( ~scanf("%d",&n) && n ){printf("%d\n",a[n]);}return 0;
}
1875 丢手绢 约瑟夫环变形 枚举相关推荐
- 51nod 1875 丢手绢
六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C)个人的 ...
- HDOJ 1443 约瑟夫环的最新应用
k个男生和k个女生站成一列,前面k个是男生,后面k个是女生,从第一个男生开始报数,报到队列最后一个同学,循环到队首继续报,并且如果一个同学报到的数是m,这个同学就出列,然后后面的同学继续从1开始报数, ...
- 51nod-1875 丢手绢
1875 丢手绢 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们 ...
- 51nod1875丢手绢
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1875 1875 丢手绢 基准时间限制:1 秒 空间限制:131072 ...
- 数据结构与算法--我们来玩丢手绢(约瑟夫环问题)
我们来玩丢手绢 昨天我们打扑克,今天我们丢手绢 丢手绢我们都知道这个游戏,他的由来由约瑟夫 (Josephus)提出来的 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,3 ...
- 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...
- C++约瑟夫环(又称丢手绢)解决---最简单的理解
首先约瑟夫环的定义: 在一间房间总共有n个人(下标0-n-1),只能有最后一个人活命. 按照如下规则去排除人: 所有人围成一圈, 从0开始 顺时针报数, 每次报到m的人将被排除掉 被排除掉的人将从房间 ...
- 约瑟夫环 -- 丢手绢问题
问题描述 约瑟夫环问题,也称为"丢手绢问题". 编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3-这样依次报),数到 m 的 士兵 ...
- 丢手绢 【约瑟夫环】
六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C)个人的 ...
最新文章
- python 一份简单的车辆环视全景系统实现图像拼接缝融合
- 【济宁百瑞达机械设备有限公司——文化拓展学习】2018技术展望:利用现有IT投资扩大云部署...
- 软件开发过程中的思维方式 -- 如何分析问题
- [pytorch、学习] - 3.12 权重衰减
- android安装python opencv_Python、C++、Android OpenCV 开发环境的配置
- netbeans使用git_如何在我的NetBeans IDE中设置github存储库?
- 一个素数,如果将其反转后仍然是一个素数,我们称这样的素数为反转素数。 例如13是一个素数,反转之后得到的31也是一个素数,那么13和31都是反转素数。
- html判断文本框和按钮,css样式之区分input是按钮还是文本框的方法
- POJO和po,vo,bo
- 世界杯开赛看球吃麻辣小龙虾
- 复古传奇服务器维护时间,复古传奇手游刷怪时间
- Grafana接入Elasticsearch数据,绘制dashboard
- zabbix告警配置
- Git之删除本地仓库
- 带通滤波器中心频率计算公式中R是哪个值_三个零件组成矿石收音机,LC电路谐振频率换算及零件选购是关键...
- Logistic Regression (LR) 详解
- Android 自定义收音机刻度
- 金融行业怎么建设电子化采购系统?
- Windows2003缓存器溢出实例
- 《模拟电子技术基础》课程笔记(二)——课程概要
热门文章
- Django rest_framework 后端接口开发 开发与用户相关的一组接口 登录注册与用户信息查询修改
- 【wxPython 安装指南:error: legacy-install-failure】
- [转] 一百本名著中的一百句话
- rails项目本地运行
- rails select下拉框
- 广告联盟反作弊一些常识
- 【改进和增强Microsoft Office应用程序】ExtendOffice软件产品介绍
- 二维码的生成加背景图片的嵌套-支付宝(Java)
- 想进BAT?这些测试面试题助你一臂之力(附答案)
- 初学者学习深度学习,不得不会的Google Colab基本操作