六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

链表+暴力~

n<14,所以我们可以打表~附打表程序~为了快一点我用了链表来记录,虽然还是很慢~

A:

#include<cstdio>
#include<iostream>
using namespace std;int n,ans[14]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};int main()
{while(scanf("%d",&n) && n) printf("%d\n",ans[n]);
}

打表:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;int n,b[30],ne[31],la[31];bool che(int u)
{for(int i=1;i<2*n;i++) ne[i]=i+1;ne[n*2]=1;for(int i=2;i<=2*n;i++) la[i]=i-1;la[1]=n*2;memset(b,0,sizeof(b));int now=1;for(int i=1;i<=n;i++){for(int j=1;j<u;j++) now=ne[now];b[now]=1;ne[la[now]]=ne[now];la[ne[now]]=la[now];now=ne[now];}for(int i=n+1;i<=2*n;i++) if(!b[i]) return 0;return 1;
}int main()
{for(n=1;n<=14;n++){for(int i=2;;i++) if(che(i)){printf("%d\n",i);break;}}return 0;
}

51nod 1875 丢手绢相关推荐

  1. 1875 丢手绢 约瑟夫环变形 枚举

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

  2. 51nod1875丢手绢

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

  3. 51nod-1875 丢手绢

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

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

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

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

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

  6. 丢手帕程序C语言,语言丢手绢教案中班

    语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...

  7. 数据结构与算法: 约瑟夫问题(丢手绢)

    数据结构与算法: 约瑟夫(丢手绢)问题(单向链表,双向链表解决) Tips: 采用java语言, 关注博主,底部附有完整代码 采用到的知识点: 单向环形链表 双向环形链表 单向 / 双向 环形链表出圈 ...

  8. [NC207040]丢手绢

    [NC207040]丢手绢 这道题是牛客上的一道题,这道题看似简单,但是坑点不少,好了,我们一起来看看题意吧: 题目描述 "丢~丢~丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓 ...

  9. Java 丢手绢游戏 求和_大班游戏活动_丢手绢

    本育儿文章是育儿天堂最新发布的<大班游戏活动_丢手绢>的详细页面,觉得有用就收藏了,这里给大家转摘到育儿天堂,看完如果觉得有用请记得收藏. 大班游戏运动:丢手绢 滨州市滨城区杨柳雪镇教诲尝 ...

最新文章

  1. 在Tomcat中部署Java Web应用程序几种方式
  2. matlab 二分法求方程近似解
  3. Code First 数据库的表中属性的配置
  4. 视易精通收银服务器自动关机,视易精通量贩式收银系统操作-手册3.0.doc
  5. Vue_error Expected indentation of 2 spaces but found 3 indent问题整理
  6. Linux之bash shell基本命令
  7. 50行代码搞定无限滑动幻灯片
  8. DataFrame的多dtype创建方法
  9. enter power save mode解决
  10. 爱库存:已实名举报唯品会不正当竞争行为
  11. 网络编程之 创建多个子进程,避免踩坑。
  12. (转)FTP操作类,从FTP下载文件
  13. paip.自适应网页设计 跟 响应式 设计方法与工具补充(2)o54
  14. windows 查看ttf字体
  15. Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)
  16. Java Web 后端技术可视化
  17. 微软Win10最新补丁KB5017380更新了什么?
  18. 与以太坊同源异流,eCash“PoW+雪崩”组合共识各司其职
  19. 华为手机如何简单、快捷地投屏到电视机上?
  20. 9月28日科技资讯|华为发布全容器化 5G 核心网;余承东评小米 MIX Aphla 手机无实用价值;PHP 新版本更新

热门文章

  1. 浏览器打不开服务器网页,浏览器打不开某几个网页,这样来解决
  2. OpenVINO使用OpenCL内存执行,避免拷贝
  3. 06解决Anaconda3安装完成后在开始菜单找不到的问题
  4. winXP/win7/win10系统关闭445端口方法全攻略
  5. js随机生成验证码(数字+字母)
  6. 爬虫遇到图片禁止访问(如403)
  7. 使用js乘法 精度错乱 使用Decimal插件处理格式问题
  8. linux 系统swap设置,Linux 系统swap 设置
  9. 爬取了豆瓣11W+网页,获取了5W+有效书籍信息
  10. android 调用oracle,Android 调用WCF实例详解