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
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 丢手绢 约瑟夫环变形 枚举相关推荐

  1. 51nod 1875 丢手绢

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

  2. HDOJ 1443 约瑟夫环的最新应用

    k个男生和k个女生站成一列,前面k个是男生,后面k个是女生,从第一个男生开始报数,报到队列最后一个同学,循环到队首继续报,并且如果一个同学报到的数是m,这个同学就出列,然后后面的同学继续从1开始报数, ...

  3. 51nod-1875 丢手绢

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

  4. 51nod1875丢手绢

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

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

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

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

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

  7. C++约瑟夫环(又称丢手绢)解决---最简单的理解

    首先约瑟夫环的定义: 在一间房间总共有n个人(下标0-n-1),只能有最后一个人活命. 按照如下规则去排除人: 所有人围成一圈, 从0开始 顺时针报数, 每次报到m的人将被排除掉 被排除掉的人将从房间 ...

  8. 约瑟夫环 -- 丢手绢问题

    问题描述 约瑟夫环问题,也称为"丢手绢问题". 编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3-这样依次报),数到 m 的 士兵 ...

  9. 丢手绢 【约瑟夫环】

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

最新文章

  1. linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
  2. Ajax与企业级应用开发
  3. 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
  4. Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)
  5. 《R语言编程艺术》——2.5 使用all()和any()
  6. IntelliJ IDEA 编译错误,提示 Compilation failed: internal java compiler error或java compiler failed
  7. 在项目中学习.NET的JQuery CheckBox方法(全选、取消全选、其他)
  8. linux应用程序之----时间类编程
  9. 现代web数据传输技术及数据格式
  10. webpack-dev-server是什么
  11. 开关电源中输出电容的ESR会影响负载的动态响应
  12. 估计四川长虹的beta系数
  13. 锂电池健康状态估计(一)
  14. java 匿名邮件_java开发邮件发送(匿名)
  15. Diffusion Models和GANs结合
  16. [bzoj4796][CERC2016]Key Knocking_乱搞
  17. 网站色彩设计与搭配技术(下)
  18. sqli-labs-maser第1-6关
  19. 鼠标放到图片上图片就变大
  20. ServU 5.0的配置

热门文章

  1. 在博客里胡搞markdown排版是否搞错了什么
  2. Google 真的抄百度了吗?
  3. 不同软件求解超导温度用的方程
  4. linux查进程位置的命令
  5. python基础程序实例-Python基础的初始
  6. 在线文库源码php,在线文库网站 文档分享平台网站 在线文档 在线预览网站 源码...
  7. 用google map实现周边搜索功能
  8. Apache中 RewriteRule 规则参数介绍
  9. Mac上使用USB共享网络
  10. 核心频率个加速频率_RTX 3080超频研究:功耗墙和频率最关键,高频稳定看用料...