1875 丢手绢 约瑟夫环变形 枚举
六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有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)个人的 ...
最新文章
- linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
- Ajax与企业级应用开发
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
- Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)
- 《R语言编程艺术》——2.5 使用all()和any()
- IntelliJ IDEA 编译错误,提示 Compilation failed: internal java compiler error或java compiler failed
- 在项目中学习.NET的JQuery CheckBox方法(全选、取消全选、其他)
- linux应用程序之----时间类编程
- 现代web数据传输技术及数据格式
- webpack-dev-server是什么
- 开关电源中输出电容的ESR会影响负载的动态响应
- 估计四川长虹的beta系数
- 锂电池健康状态估计(一)
- java 匿名邮件_java开发邮件发送(匿名)
- Diffusion Models和GANs结合
- [bzoj4796][CERC2016]Key Knocking_乱搞
- 网站色彩设计与搭配技术(下)
- sqli-labs-maser第1-6关
- 鼠标放到图片上图片就变大
- ServU 5.0的配置