51nod 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
链表+暴力~
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 丢手绢相关推荐
- 1875 丢手绢 约瑟夫环变形 枚举
1875 丢手绢 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个 ...
- 51nod1875丢手绢
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1875 1875 丢手绢 基准时间限制:1 秒 空间限制:131072 ...
- 51nod-1875 丢手绢
1875 丢手绢 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们 ...
- 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...
- 数据结构与算法--我们来玩丢手绢(约瑟夫环问题)
我们来玩丢手绢 昨天我们打扑克,今天我们丢手绢 丢手绢我们都知道这个游戏,他的由来由约瑟夫 (Josephus)提出来的 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,3 ...
- 丢手帕程序C语言,语言丢手绢教案中班
语言丢手绢教案中班 导语:能主动大胆地参加游戏,在追逐.闪躲游戏中享受合作游戏的快乐.受活动的快乐.以下小编为大家介绍语言丢手绢教案中班文章,欢迎大家阅读参考! 语言丢手绢教案中班1 一.活动目标: ...
- 数据结构与算法: 约瑟夫问题(丢手绢)
数据结构与算法: 约瑟夫(丢手绢)问题(单向链表,双向链表解决) Tips: 采用java语言, 关注博主,底部附有完整代码 采用到的知识点: 单向环形链表 双向环形链表 单向 / 双向 环形链表出圈 ...
- [NC207040]丢手绢
[NC207040]丢手绢 这道题是牛客上的一道题,这道题看似简单,但是坑点不少,好了,我们一起来看看题意吧: 题目描述 "丢~丢~丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓 ...
- Java 丢手绢游戏 求和_大班游戏活动_丢手绢
本育儿文章是育儿天堂最新发布的<大班游戏活动_丢手绢>的详细页面,觉得有用就收藏了,这里给大家转摘到育儿天堂,看完如果觉得有用请记得收藏. 大班游戏运动:丢手绢 滨州市滨城区杨柳雪镇教诲尝 ...
最新文章
- 在Tomcat中部署Java Web应用程序几种方式
- matlab 二分法求方程近似解
- Code First 数据库的表中属性的配置
- 视易精通收银服务器自动关机,视易精通量贩式收银系统操作-手册3.0.doc
- Vue_error Expected indentation of 2 spaces but found 3 indent问题整理
- Linux之bash shell基本命令
- 50行代码搞定无限滑动幻灯片
- DataFrame的多dtype创建方法
- enter power save mode解决
- 爱库存:已实名举报唯品会不正当竞争行为
- 网络编程之 创建多个子进程,避免踩坑。
- (转)FTP操作类,从FTP下载文件
- paip.自适应网页设计 跟 响应式 设计方法与工具补充(2)o54
- windows 查看ttf字体
- Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)
- Java Web 后端技术可视化
- 微软Win10最新补丁KB5017380更新了什么?
- 与以太坊同源异流,eCash“PoW+雪崩”组合共识各司其职
- 华为手机如何简单、快捷地投屏到电视机上?
- 9月28日科技资讯|华为发布全容器化 5G 核心网;余承东评小米 MIX Aphla 手机无实用价值;PHP 新版本更新
热门文章
- 浏览器打不开服务器网页,浏览器打不开某几个网页,这样来解决
- OpenVINO使用OpenCL内存执行,避免拷贝
- 06解决Anaconda3安装完成后在开始菜单找不到的问题
- winXP/win7/win10系统关闭445端口方法全攻略
- js随机生成验证码(数字+字母)
- 爬虫遇到图片禁止访问(如403)
- 使用js乘法 精度错乱 使用Decimal插件处理格式问题
- linux 系统swap设置,Linux 系统swap 设置
- 爬取了豆瓣11W+网页,获取了5W+有效书籍信息
- android 调用oracle,Android 调用WCF实例详解