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. python 一份简单的车辆环视全景系统实现图像拼接缝融合
  2. 【济宁百瑞达机械设备有限公司——文化拓展学习】2018技术展望:利用现有IT投资扩大云部署...
  3. 软件开发过程中的思维方式 -- 如何分析问题
  4. [pytorch、学习] - 3.12 权重衰减
  5. android安装python opencv_Python、C++、Android OpenCV 开发环境的配置
  6. netbeans使用git_如何在我的NetBeans IDE中设置github存储库?
  7. 一个素数,如果将其反转后仍然是一个素数,我们称这样的素数为反转素数。 例如13是一个素数,反转之后得到的31也是一个素数,那么13和31都是反转素数。
  8. html判断文本框和按钮,css样式之区分input是按钮还是文本框的方法
  9. POJO和po,vo,bo
  10. 世界杯开赛看球吃麻辣小龙虾
  11. 复古传奇服务器维护时间,复古传奇手游刷怪时间
  12. Grafana接入Elasticsearch数据,绘制dashboard
  13. zabbix告警配置
  14. Git之删除本地仓库
  15. 带通滤波器中心频率计算公式中R是哪个值_三个零件组成矿石收音机,LC电路谐振频率换算及零件选购是关键...
  16. Logistic Regression (LR) 详解
  17. Android 自定义收音机刻度
  18. 金融行业怎么建设电子化采购系统?
  19. Windows2003缓存器溢出实例
  20. 《模拟电子技术基础》课程笔记(二)——课程概要

热门文章

  1. Django rest_framework 后端接口开发 开发与用户相关的一组接口 登录注册与用户信息查询修改
  2. 【wxPython 安装指南:error: legacy-install-failure】
  3. [转] 一百本名著中的一百句话
  4. rails项目本地运行
  5. rails select下拉框
  6. 广告联盟反作弊一些常识
  7. 【改进和增强Microsoft Office应用程序】ExtendOffice软件产品介绍
  8. 二维码的生成加背景图片的嵌套-支付宝(Java)
  9. 想进BAT?这些测试面试题助你一臂之力(附答案)
  10. 初学者学习深度学习,不得不会的Google Colab基本操作