[NOIP2013 提高组] 转圈游戏

news/2024/9/22 19:56:20

[NOIP2013 提高组] 转圈游戏

\(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\) 号小伙伴最后走到了第几号位置。

对于 \(100\%\) 的数据,\(1 < n < {10}^6\)\(0 < m < n\)\(0 \le x \le n\)\(0 < k < {10}^9\)

解法:

相当于 \(x\) 号小伙伴每次在圆环上向前走了 \(m\) 步,走了 \(10^k\)

则可以推出式子:

\(id = (x + m \times 10^k)\) \(mod\) \(n\)

代码:

#include<iostream>
#include<algorithm>
using namespace std;
#define int long long
const int LOG = 50;
int n,m,k,x;
int id;
int jump[LOG];
int qpow(int num,int x){int ans = 1,res = num;while(x){if(x & 1) ans = ans * res % n;x >>= 1,res = res * res % n;}return ans;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>m>>k>>x;cout<<(x +(m * qpow(10,k)) % n) % n;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/63453.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Linux中删除文本中所有的重复的字符保持唯一

001、[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试文本 abk akkkkccc 8777 ,,, aaaf 333444 --- uukk22 [root@PC1 test]# cat a.txt | tr -s [:alnum:] ## 删除连续的重复字符 abk akc 87 ,,, af 34 --- uk2 [root@PC1 test]# …

ConcurrentLinkedQueue详解(图文并茂)

前言 ConcurrentLinkedQueue是基于链接节点的无界线程安全队列。此队列按照FIFO(先进先出)原则对元素进行排序。队列的头部是队列中存在时间最长的元素,而队列的尾部则是最近添加的元素。新的元素总是被插入到队列的尾部,而队列的获取操作(例如poll或peek)则是从队列头部…

Linux 中实现文本中所有的单词的第一个字符大写,其余字符小写

001、[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 afdf eDET FDSS FFde fexk mxnd [root@PC1 test]# cat a.txt | awk {for(i = 1; i <= NF; i++) {$i = toupper(subst…

Docker方式搭建Maven私服

私服搭建 如下讲解如何基于Docker方式快速搭建Nexus3私服。 编写docker-compose.yaml文件,内容如下: version: 2services:nexus3:image: sonatype/nexus3:3.72.0container_name: nexus3restart: alwaysports:- 8081:8081 volumes:- /data/opt/nexus3/data:/nexus-data为了避免…

安全的路很长,致迷茫的你

最近有一些朋友找到我,跟我聊,说自己感觉很迷茫,不知所措,不知道未来该怎么办?安全该怎么做?OKR该怎么写?其实我想反问他以下几个问题: 1.漏洞研究了几个? 2.样本分析了几个? 3.这段时间看了多少安全技术类文档? 4.目前流行的恶意样本家族都有哪些? 5.目当流行的影…

我对什么都感兴趣,可我迷茫了

我收到一个同学给我的邮件问了个在我看来属于“太阳系”级的难题,比宇宙终极难题还差那么些^^他问: ----------------- 这几天一直挺困惑。说下我的问题,你有空的时候帮我解答下吧。 今天问自己个问题,找个自己的特长现在开始发展它。 基本上以后主要就靠这个特长工作。 但…

进程控制2

使用waitpid(pid, status,0);填入子进程的pid,阻塞父进程,直到子进程结束了,然后把子进程的pcb结构体的状态码读取出来。使用WIFEXITED(status)判断子进程是否正常退出,WEXITSTATUS(status)读取退出码来判断运行是否正常结束。 因为进程结束有3种情况:1.进程正常退出,并正…

redis八股

redis 八股文 基础内容 Redis面试题,56道Redis八股文(1.9万字97张手绘图),面渣逆袭必看👍 | 二哥的Java进阶之路 (javabetter.cn) Redis 常见面试题 | 小林coding (xiaolincoding.com) redis数据类型 Redis 常见面试题 | 小林coding (xiaolincoding.com) Redis 常见数据类…