1617:转圈游戏 ybt
2024-09-05 05:58:38
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 ;
}
最新文章
- mtr命令详解
- MyEclipse 常用操作
- oracle 中文乱码---查看和修改客户端字符集
- 少睡与吸烟影响IQ
- mysqli_stmt预处理类
- Git删除文件操作
- 常用正则表达式(匹配URL/email/number)
- ASP.NET Excel 导入 Oracle 方法2
- HDU 4725 The Shortest Path in Nya Graph-【SPFA最短路】
- struts2(一) struts2入门
- 如何输入EOF
- CentOS 7 PHP-redis扩展安装,浏览器不显示数据及redis无法储存数据常见问题解决办法
- 《Effective C++》继承与面对对象设计:条款32-条款40
- 怎么样通过php使用html5实现多文件上传?(php多图上传)
- 可参数化的带优先级的数据选择器的FPGA实现方式探讨
- [数据结构] 大纲 - Stan Zhang 数据结构速通教程
- 《Linux内核分析》第六周学习小结
- mxonline实战13,授课讲师列表页,详情页,index页面全局导航
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
- annexb模式
热门文章
- (七)Redis之Keys的通用操作
- jquery 获取滚动条高度
- 开发环境,不用每次都ant自动编译
- JDBC 学习复习6 学习与编写数据库连接池
- 你所不知道的 Console
- c#NPOI导出2007版本excel
- golang的序列化与反序列化的几种方式
- java.lang.IllegalStateException: Cannot initialize context because there is already a root application context present
- 使用IDEA快速搭建基于Maven的SpringBoot项目(集成使用Redis)
- 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)