★ 输入文件:jos.in
输出文件:jos.out
简单对比
时间限制:1 s 内存限制:256 MB
【题目描述】
天亮了,请大家睁眼
昨晚是,平安夜。
处于集会中心的村民们大多数都长舒一口气,不过也有人板起了脸,但是大多数人都沉浸在死后余生的兴奋中,无人注意旁边的异动。
这时,主持人领上了一个衣衫褴褛,身上满是伤痕的野孩子。
“这是野孩子,昨晚他选定了自己的榜样,当那位榜样公民死了后,他就会在一怒下变为狼人”似乎永远保持一个语调的主持人说道。
“那快告诉我们那位榜样是谁啊”村民们纷纷地说道。
野孩子顿了顿,开口说道。
(不想看故事的人,题面在下)
“我们的村庄是一个环形,一共有n个屋子,相信各位都知道。昨晚当我来到这里时,我不认识任何人,所以我只好按照一种方法随机选择榜样。虽然我不是你们这里土生土长的人但是我也知道在你们这k是不吉利的,于是我从门牌号为1的屋子开始数,每数k个数就将数到的房屋踢出我的选择序列,于是继续数下去,直到最后只剩下一间房子,于是我就将剩下这间房子的主人选为了我的榜样”。
所有人听完后都吸了一口凉气,没人想象到野孩子会以如此直白的方式同时在好人和狼人前说出来。作为一名守卫,你知道狼人们会在极短的时间内算出这个榜样是谁,并以残忍的方式增加狼人族群的力量——杀掉Ta。你必须,比他们更快。
一句话题面
在1s内算出此死亡循环游戏的最终赢家。
【输入格式】
一行两个数n,k
【输出格式】
一行两个数n,k
【样例输入】
10 7
【样例输出】
9
【提示】
野孩子从一号屋开始数,一共有10间屋子,不吉利的数字为7,
排出的顺序依次为7 4 2 1 3 6 10 5 8 9,所以9为最后剩下的数,即榜样
村庄简介
因为杜斯特伍德是一个人类居住的村子,所以门牌号总是从1开始。
对于40%的村庄,它们属于小村镇,n<=1000,k<=1000;
对于100%的村庄,它们可是大城市了,n<=100000000,k<=100000。
【来源】
机房一cmath大佬
(Rank1 蛤蛤)
#include <stdio.h> int n,k; int Main() { freopen("jos.in","r",stdin); freopen("jos.out","w",stdout); scanf("%d%d",&n,&k); int r=0; for(int i=2;i<=n;++i) r=(r+k)%i; printf("%d ",r+1); return 0; } int sb=Main(); int main(int argc,char *argv[]){;}