丢手绢
来源:互联网 发布:周杰伦婚礼进行曲 知乎 编辑:程序博客网 时间:2024/06/02 13:01
约瑟夫环(如果要了解的话,看我另一篇博客)
六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有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的时候表示输入结束。
340
530
#include<stdio.h> int main() { int k,m,people[30]={0},J[20]={0}; while(scanf("%d",&k),k) { if(J[k]!=0) { printf("%d\n",J[k]); continue; } people[0]=0,m=1; for(int i=1;i<=k;i++) { people[i]=(people[i-1]+m-1)%(2*k-i+1); if(people[i]<k) { i=0; m++; } } J[k]=m; printf("%d\n",J[k]); } return 0; }
阅读全文
0 0
- 丢手绢
- 丢手绢问题
- 丢手绢 (暴力)
- 1875 丢手绢
- 4363: 丢手绢
- 51nod 1875 丢手绢
- 51nod 1875 丢手绢
- 丢手绢java代码即约瑟夫问题
- (丢手绢)hdu 2104 hide handkerchief
- 51nod 1875 丢手绢(模拟)
- 简单算法之丢手绢游戏/c++
- 51nod1875-打表&模拟-丢手绢
- Algorithm One Day One -- 约瑟夫环(丢手绢问题)
- 51nod 1875-丢手绢(打表)
- 51NOD 1875丢手绢 (思维+打表)
- 51nod 1875 丢手绢(离线打表)
- 51nod 1875 丢手绢 vector模拟循环问题
- java入门小程序—17人游戏(丢手绢问题)
- mybatis的注解
- 关于C++中的输入一行问题
- hdu 1800
- Python 小程序
- 阿里面试回来,想和Java程序员谈一谈
- 丢手绢
- 深入Kotlin
- bzoj 4806: 炮
- Redis的快照功能
- 初学Linux--标准输入输出库
- PAT 乙级 1020
- STL空间配置器
- Accelerated C++ 14 Managing memory automatically
- C# 中DaraAdapter 数据适配