小目录

  • 链接
  • 题目描述
  • 样例输入
  • 样例输出
  • 思路
  • 代码

链接

luogu P1965

题目描述

有一游戏,规则如下:围圆圈坐,座位编号从0到 n - 1,现有若干轮游戏
每一轮第 0 号位置上的同学顺时针走到第 m 号位置
第1号位置同学走到第 m+1 号位置…
现在,一共进行了 10^k 轮,请问 x 号同学最后走到了第几号位置。

样例输入

10 3 4 5

样例输出

5

思路

我比较菜,没想到公式,还是用的很朴素的想法:
枚举从x出发,经过r轮之后重新回到了x点,然后快速幂求出 1 0 k % r 10^k\ \%\ r 10k % r,最后的余数再手动跑掉就可以了
大佬公式: ( x % n + m % n ∗ 1 0 k % n ) (x\%n+m\%n*10^k\%n)%n (x%n+m%n∗10k%n)

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#define ll long longint n, m, k, x;
ll kk, r, t, b[1000005][5]; using namespace std;ll ksm(int a, int b)
{int p = 1;while(b){if(b & 1) p = (p * a) % r;a = (a * a) % r;b /= 2;}return p;
}int main()
{//  freopen("game.in", "r", stdin);
//  freopen("game.out", "w", stdout);scanf("%d%d%d%d", &n, &m, &k, &x);int xx = x; t = 0;while(!b[x][0]){xx = (xx + m) % n;if(xx == x) {t++; break;}if(!b[xx][0]) {b[xx][0] = 1;b[xx][1] = ++t;}}r = t - b[x][1];kk = ksm(10, k);if(!kk) printf("%d", x);else {for(int i = 1; i <= kk; ++i)x = (m + x) % n;printf("%d", x);}return 0;fclose(stdin);fclose(stdout);
}

【Luogu P1965】[NOIP2013 提高组] 转圈游戏相关推荐

  1. [NOIP 2013提高组]转圈游戏 题解

    这题在洛谷上是道黄题,即[普及/提高-] 所以虽然是提高组的,但是其实挺简单的. 我们来看下题面: [NOIP 2013]转圈游戏 刚看到题面作为一个蒟蒻感觉它都不配做黄题,但是直到我看清楚了后发现它 ...

  2. NOIP2013 提高组复赛解题报告

    NOIP2013 提高组复赛 day1 day\;1 1002. 火柴排队 贪心+数据结构/归并排序 这个"相邻交换"让我联想到了NOIP2012_day1_task2_game那 ...

  3. P1979 [NOIP2013 提高组] 华容道

    题目来源 [NOIP2013 提高组] 华容道 - 洛谷 题目考点 搜索   图论 题目 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, ...

  4. 【题解】P1979 [NOIP2013 提高组] 华容道(SPFA,BFS,常数优化)

    [题解]P1979 [NOIP2013 提高组] 华容道 最近打比赛次次挂..平均每周得被至少一场比赛打击一次(这周好不容易 ABC 打的还行模拟赛又挂--)心烦意乱.写篇题解疏散一下内心的苦闷(雾) ...

  5. 【NOIP2013提高组】花匠

    题目背景 NOIP2013 提高组 Day2 试题. 题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空 ...

  6. 【NOIP2013提高组】火柴排队

    题目背景 NOIP2013 提高组 Day1 试题 题目描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定 ...

  7. 【NOIP2013提高组】积木大赛

    题目背景 NOIP2013 提高组 Day2 试题 题目描述 春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为 1  ...

  8. 【NOIP2013提高组T3】加分二叉树

    题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,-,n),其中数字1,2,3,-,n为节点编号.每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都 ...

  9. [NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)

    一开始觉得是网络流..仔细一看应该是最短路,再看数据范围..呵呵不会写...这道题是最大生成树+最近公共祖先.第一次写..表示各种乱.. 因为要求运输货物质量最大,所以路径一定是在最大生成树上的.然后 ...

最新文章

  1. 系统架构的过程 浮现式设计
  2. 捣鼓 Subversion
  3. Struts2标签库常用标签(转)
  4. Theano深度学习入门
  5. Postman同时发送多个对象+文件到Controller的实现方法
  6. 每天一道LeetCode-----将二叉树原地平铺成链式结构
  7. shell生成随机数+判断路径存不存在+判断文件夹有无内容
  8. BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理
  9. python接口自动化(八)--发送post请求的接口(详解)
  10. 基金定投十年不止赢不止损会怎么样?
  11. NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
  12. DB2中sql语句占位符问题
  13. mysql导入的sql文件导入到哪里了_mysql导入导出sql文件
  14. Layui默认表单校验规则
  15. 工厂模式的思想主要为
  16. Character-level recurrent sequence-to-sequence model (翻译)
  17. qqkey获取原理_QQkey盗号木马原理分析[教程]
  18. 【双轨公排】小公排+推荐奖+对碰奖+层碰奖+见点奖源码系统 演示网站介绍
  19. 图像放大算法介绍(转载)
  20. 黑掉php网站,如何黑掉一个网站

热门文章

  1. UltraEdit 操作小技巧
  2. 电商网站重点测试方向、测试点整理
  3. 假设磁盘的每个磁道分成9个块
  4. C++11中,对于deleted函数
  5. android 11.0添加开机铃声
  6. vue报错 vue-router.esm.js?8c4f:2089 Uncaught (in promise)
  7. 用STM32 USB虚拟串口替代UART
  8. 自媒体短视频中视频相关的问题总结,涉及视频类型、质量、时长和原创等方面
  9. 牛客网扫地僧开源出来的《Java 面试无敌流笔记》,Github 上线两天就爆火
  10. STM32与树莓派:嵌入式系统开发与教育计算的区别