Astar Round2A 1001 ALL X
来源:互联网 发布:php写接口实例 编辑:程序博客网 时间:2024/05/01 13:36
全是由数字x组成的m位数可表示为(10m-1)/9*x。
则判断 (10m-1)/9*x%k == c 的真假可转化为判断 (10m-1)*x%(9*k) == 9*c 的真假。
(对于加减乘运算,取模可以移动,对于除法不可行。但此处 10m-1 表示有m个9组成的数,
一定可以整除9,故可将9和k放在一起当模数)。接下来用快速幂就可以了。
比赛时,一直想着用大数模板…………不超时才怪。
#include <cstdio>int t;long long x, m, k, c;long long quickpowmod (long long x, long long y, long long mod) { long long ret = 1; while (y) { if (y&1) {ret = ret*x%mod;} x = x*x%mod; y >>= 1; } return ret;}int main() { scanf ("%d", &t); int cn = 0; while (t--) { scanf ("%I64d%I64d%I64d%I64d", &x, &m, &k, &c); printf ("Case #%d:\n", ++cn); long long mod = 9*k; long long p = quickpowmod (10, m, mod); (p*x%mod-x%mod == 9*c) ?printf ("Yes\n") :printf ("No\n"); } return 0;}
0 0
- Astar Round2A 1001 ALL X
- 2016"百度之星" - 初赛(Astar Round2A) 1001 All X(数论知识)
- 2016"百度之星" - 初赛(Astar Round2A)1001 All X (模)
- HDU 5690 All X(2016"百度之星" - 初赛(Astar Round2A)1001)
- HDU 5690 All X的多种算法(2016"百度之星" - 初赛(Astar Round2A)1001)
- 【矩阵快速幂】[2016"百度之星" - 初赛(Astar Round2A)]All X
- HDU 5690 All X(2016"百度之星" - 初赛(Astar Round2A))
- Astar Round2A
- Astar Round2A 1002
- Astar Round2A 1003 Snacks
- 2016"百度之星" - 初赛(Astar Round2A)1001~1006
- 2016"百度之星" - 初赛(Astar Round2A)解题报告
- [Contest] 2016"百度之星" - 初赛(Astar Round2A)
- 2016"百度之星" - 初赛(Astar Round2A)
- 2016"百度之星" - 初赛(Astar Round2A)题解
- Astar Round2A 1002 Sitting in Line 记忆化搜索
- 2016"百度之星" - 初赛(Astar Round2A)题解
- 2016"百度之星" - 初赛(Astar Round2A)
- EditText一键删除
- 虚拟机下修改网卡的ip地址
- 2.实现一个最简单的COM
- 【转】微信订阅号的运营
- Java并发编程-并发编程知识点总结
- Astar Round2A 1001 ALL X
- C++分配/释放动态内存
- 第九周实践项目
- 炫酷源码
- 自杀环——约瑟夫环
- ROS_Kinetic_15 ROS使用Qt
- 【牛腩新闻系统】——知识点概要
- material design技术详解
- 2.乐学成语-------------编写动物类