【bzoj 十连测】[noip2016十连测第七场]Problem A: 约瑟夫游戏(递推+打表)

来源:互联网 发布:犀牛软件授权码 编辑:程序博客网 时间:2024/06/05 05:38

Problem A: [noip2016十连测第七场]约瑟夫游戏
Time Limit: 20 Sec Memory Limit: 233 MB
Submit: 26 Solved: 13
[Submit][Status][Web Board]
Description
YJC很喜欢玩游戏,今天他决定和朋友们玩约瑟夫游戏。约瑟夫游戏的规则是这样的:n个人围成一圈,从1号开始依次报数,当报到m时,报1、2、…、m-1的人出局,下一个人接着从1开始报,保证(n-1)是(m-1)的倍数。最后剩的一个人获胜。YJC很想赢得游戏,但他太笨了,他想让你帮他算出自己应该站在哪个位置上。

Input
第一行包含两个整数n和m,表示人数与数出的人数。 2≤m≤n<2^63-1 且(n-1)是(m-1)的倍数。
Output
输出一行,包含一个整数,表示站在几号位置上能获得胜利。
Sample Input
10 10
Sample Output
10
HINT
【题解】【递推+打表】
【其实和学长有一天出的题很像,都是约瑟夫问题,然后暴力递推一下就好,和那天的差不多】
【通过打表,可以发现:f[ma+m+1]=m,其余的f[n]都满足f[n][n-m+1]。所以,设n=ma+(m1)kma<nma+1,那么f[n]=km。时间复杂度Ologmn

#include<cstdio>using namespace std;long long n,k;int main(){    long long i;    scanf("%lld%lld",&n,&k);    for(i=1;i<n/k;i*=k);    printf("%lld\n",(n-i)/(k-1)*k);    return 0;}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网页无法加载打印机插件怎么办 微信提示安装了插件怎么办 电脑上不了网怎么办 win10 win10电脑突然没网了怎么办 笔记本玩战争前线发热严重怎么办 玩战争前线总是闪退怎么办 uu加速器卡在29怎么办 新ipad下载不了东西怎么办 福昕pdf阅读器找不到图章怎么办 战地4没达到分数怎么办 植物在太暗环境怎么办 玩绝地求生机型不支持怎么办 安卓安装包损坏怎么办 方舟手游安装包损坏怎么办 7p新机耗电快怎么办 不小心把图片删了怎么办 腿上毛又长又多怎么办 征兵体检体重太轻怎么办 体检发现颈部有淋巴节怎么办? 4岁宝宝汗毛重怎么办 嘴巴张开闭不上怎么办 口张开闭不上怎么办 要去当兵有痔疮怎么办 狗舔的东西吃了怎么办 婚检说生过孩子怎么办 劳动法规定身体有疾病的怎么办 铁路对职工醉驾怎么办 入职体检高血糖怎么办 睾丸捏一下很疼怎么办 小孩睾丸受外力红肿该怎么办 睾丸炎症怎么办啊会不会不育呢 腰疼连着睾丸疼怎么办 为什么结石会睾丸疼怎么办 感觉自己睾丸变小了怎么办 宝宝小丁丁肿了怎么办 两岁宝宝高低肩怎么办 参军体检视力不过关怎么办 验兵视力不过关怎么办 军检了感冒了怎么办 双侧附睾头囊肿怎么办 睾丸上面长疙瘩很痒都抓烂了怎么办