题目描述

n个小伙伴(编号从 0到 n−1)围坐一圈玩游戏。按照顺时针方向给 n个位置编号,从0 到 n−1。最初,第 0号小伙伴在第 0号位置,第 1号小伙伴在第 1 号位置,……,依此类推。

游戏规则如下:每一轮第 0号位置上的小伙伴顺时针走到第m 号位置,第 1号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n∼m+1 号位置上的小伙伴走到第1 号位置,……,第n-1 号位置上的小伙伴顺时针走到第m−1 号位置。

现在,一共进行了 10^k轮,请问x 号小伙伴最后走到了第几号位置。

输入输出格式

输入格式:

共1行,包含 4 个整数n,m,k,x,每两个整数之间用一个空格隔开。

输出格式:

1个整数,表示 10^k轮后 x 号小伙伴所在的位置编号。

输入输出样例

输入样例#1: 复制

10 3 4 5
输出样例#1: 复制

5

说明

对于 30%的数据,0<k<7;

对于 80%的数据,0 < k < 10^7;

对于100%的数据,1 <n < 1,000,000 ,0 < m < n, 1 ≤ x ≤ n, 0 < k < 10^9。

******位置是(x + m * 10 ^ k) % n,快速幂走起。

 #include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int i,j;
long long int n,m,k,x,ans = ,op = ;
int main()
{
scanf("%lld %lld %lld %lld",&n,&m,&k,&x);
while(k != )
{
if(k & == )
{
ans = ans * op;
ans = ans % n;
}
op *= op;
op = op % n;
k = k >> ;
}
ans = ans * m;
ans = ans % n;
ans = ans + x;
ans = ans % n;
printf("%lld",ans);
return ;
}

noip2013转圈游戏的更多相关文章

  1. [NOIP2013]转圈游戏

    题目描述 Description n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 ...

  2. 题解 【NOIP2013】转圈游戏

    [NOIP2013]转圈游戏 Description n个小伙伴(编号从0到n-1)围坐一圈玩游戏.按照顺时针方向给n个位置编号,从0到n-1.最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置 ...

  3. luoguP1965 转圈游戏(NOIP2013)(快速幂)

    luogu P1965 转圈游戏 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include ...

  4. [快速幂][NOIP2012]转圈游戏

    转圈游戏 题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置, ...

  5. 3285 转圈游戏 2013年NOIP全国联赛提高组

    3285 转圈游戏 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond       题目描述 Description n 个小伙伴 ...

  6. codevs3285转圈游戏

    传送门 3285 转圈游戏 2013年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Descript ...

  7. 洛谷 P1965 转圈游戏

    洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...

  8. 1617:转圈游戏 ybt

    1617:转圈游戏 时间限制: 1000 ms         内存限制: 524288 KB提交数: 540     通过数: 326 [题目描述] nn 个小伙伴(编号从 00 到 n−1n−1 ...

  9. 洛谷P1965 转圈游戏 [2013NOIP提高组 D1T1][2017年6月计划 数论04]

    P1965 转圈游戏 题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 ...

随机推荐

  1. _event_stop

    EventId 事件ID TeamId 事件玩家分组,攻守(防守为1,进攻为2),自定义阵营(_faction表自定义阵营ID),公会(公会guid) StopType 结束事件需要满足的条件,枚举类 ...

  2. 遍历一个可迭代对象中的所有元素,但是却不想使用for循环

    def manual_iter(): with open('/etc/passwd') as f: try: while True: line = next(f) print(line, end='' ...

  3. SpringBoot学习路线

    网上也有很多github资源,都是自己学习Spring Boot时候,自己练的代码 虽然现在最新的版本用2.1.3.RELEASE版本,以前版本的demo运行可能会遇到错误.但是有总比没有要好,不是么 ...

  4. Java java.lang.SecurityException: Prohibited package name

    java.lang.SecurityException: Prohibited package name 提示java错误: Exception in thread "main" ...

  5. Python 增强类库

    程序中断 # coding=utf-8 支持中文 re = iter(range(5)) try: for i in range(100): print re.next() except StopIt ...

  6. [转][osg][QT]osg与QT界面结合的简单例子

    //QT += core gui opengl //LIBS += -losgViewer -losgDB -losgUtil -losg -lOpenThreads -losgGA -losgQt ...

  7. [osg]osg窗口显示和单屏幕显示

    osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("cow.osg"); osg::ref_ptr&l ...

  8. 自动化测试基础-断言(Assert)使用方法

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condi ...

  9. MySQL LIMIT的使用

    SELECT语句返回所有匹配的行,它们可能是指定表中的每个行.为 了返回第一行或前几行,可使用LIMIT子句. 比如我原始的student表如下: 我现在想输出前4行,就使用 SELECT * FRO ...

  10. arcpy导入错误 问题 “ImportError: No module named arcpy”

    如果阁下也出现如下图的错误,用本文的方法也许可以解决问题 首先,打开你python的安装位置,如下图所示的路径,找到desktop10.3.pth文件,打开查看,将你arcgis的相关路径,共3个绝对 ...