1617:转圈游戏

时间限制: 1000 ms         内存限制: 524288 KB
提交数:
540     通过数: 326

【题目描述】

nn

个小伙伴(编号从 00

到 n−1n−1

)围坐一圈玩游戏。按照顺时针方向给 nn

个位置编号,从 00

到 n−1n−1

。最初,第 00

号小伙伴在第 00

号位置,第 11

号小伙伴在第 11

号位置,……,依此类推。

游戏规则如下:每一轮第 00

号位置上的小伙伴顺时针走到第 mm

号位置,第 11

号位置小伙伴走到第 m+1m+1

号位置,……,依此类推,第 n−mn−m

号位置上的小伙伴走到第 00

号位置,第 n−m+1n−m+1

号位置上的小伙伴走到第 11

号位置,……,第 n−1n−1

号位置上的小伙伴顺时针走到第 m−1m−1

号位置。

现在,一共进行了 10k10k

轮,请问 xx

号小伙伴最后走到了第几号位置。

【输入】

输入共 11

行,包含 44

个整数 n、m、k、xn、m、k、x

,每两个整数之间用一个空格隔开。

【输出】

输出共 11

行,包含 11

个整数,表示 10k10k

轮后 xx

号小伙伴所在的位置编号。

【输入样例】

10 3 4 5

【输出样例】

5
仔细观察一下就可以发现这道题其实很简单就是累加上去之后对n取模。
但是计算过程中的取模是个坑
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll k,n,m,x;
inline ll quickpow(ll a,ll b)
{
ll ans=;
while(b)
{
if(b&1LL) ans=ans*a%n;
a=a*a%n;
b>>=1LL;
}
return ans;
}
int main()
{
scanf("%lld %lld %lld %lld",&n,&m,&k,&x);
printf("%lld\n",(m%n*quickpow(,k)+x)%n);
return ;
}


最新文章

  1. mtr命令详解
  2. MyEclipse 常用操作
  3. oracle 中文乱码---查看和修改客户端字符集
  4. 少睡与吸烟影响IQ
  5. mysqli_stmt预处理类
  6. Git删除文件操作
  7. 常用正则表达式(匹配URL/email/number)
  8. ASP.NET Excel 导入 Oracle 方法2
  9. HDU 4725 The Shortest Path in Nya Graph-【SPFA最短路】
  10. struts2(一) struts2入门
  11. 如何输入EOF
  12. CentOS 7 PHP-redis扩展安装,浏览器不显示数据及redis无法储存数据常见问题解决办法
  13. 《Effective C++》继承与面对对象设计:条款32-条款40
  14. 怎么样通过php使用html5实现多文件上传?(php多图上传)
  15. 可参数化的带优先级的数据选择器的FPGA实现方式探讨
  16. [数据结构] 大纲 - Stan Zhang 数据结构速通教程
  17. 《Linux内核分析》第六周学习小结
  18. mxonline实战13,授课讲师列表页,详情页,index页面全局导航
  19. Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
  20. annexb模式

热门文章

  1. (七)Redis之Keys的通用操作
  2. jquery 获取滚动条高度
  3. 开发环境,不用每次都ant自动编译
  4. JDBC 学习复习6 学习与编写数据库连接池
  5. 你所不知道的 Console
  6. c#NPOI导出2007版本excel
  7. golang的序列化与反序列化的几种方式
  8. java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present
  9. 使用IDEA快速搭建基于Maven的SpringBoot项目(集成使用Redis)
  10. 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)