HDU 5690 (分治 || 循环节)
来源:互联网 发布:极度恐慌网络 编辑:程序博客网 时间:2024/05/29 03:15
All X
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 468 Accepted Submission(s): 216
Problem Description
Input
第一行一个整数T ,表示T 组数据。
每组测试数据占一行,包含四个数字x,m,k,c
1≤x≤9
1≤m≤1010
0≤c<k≤10,000
每组测试数据占一行,包含四个数字
Output
对于每组数据,输出两行:
第一行输出:"Case #i:"。i 代表第i 组测试数据。
第二行输出“Yes” 或者 “No”,代表四个数字,是否能够满足题目中给的公式。
第一行输出:"Case #i:"。
第二行输出“Yes” 或者 “No”,代表四个数字,是否能够满足题目中给的公式。
Sample Input
31 3 5 21 3 5 13 5 99 69
Sample Output
Case #1:NoCase #2:YesCase #3:YesHint对于第一组测试数据:111 mod 5 = 1,公式不成立,所以答案是”No”,而第二组测试数据中满足如上公式,所以答案是 “Yes”。
分治做很简单,每次求出一半%k的值然后快速幂求出10^x次的值,然后判断长度
奇偶就好了.
也可以找循环节.
#include <cstring>#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cmath>#include <map>#include <queue>using namespace std;#define maxn 11111long long x;long long m, c, mod;long long qpow (long long m, long long n, long long k){ long long b = 1; while (n > 0) { if (n & 1) b = (b*m)%k; n = n >> 1 ; m = (m*m)%k; } return b;}long long f (long long a) { if (a == 1) { return x%mod; } long long cur = f (a>>1); long long ans = cur*qpow (1LL*10, a>>1, mod)%mod+cur; ans %= mod; if (a&1) { ans = ans*10%mod+x; ans %= mod; } return ans;}void solve () { if (f (m)%mod == c) { printf ("Yes\n"); } else printf ("No\n");}int main () { //freopen ("in.txt", "r", stdin); int t, kase = 0; scanf ("%d", &t); while (t--) { printf ("Case #%d:\n", ++kase); cin >> x >> m >> mod >> c; solve (); } return 0;}
0 0
- HDU 5690 (分治 || 循环节)
- HDU - 5690 分治 + 快速幂思想
- NK1437(循环日程表) [分治]
- 分治 循环比赛日程表
- hdu 5690 矩阵快速幂/循环节
- hdu 1005 循环节
- HDU 5970 (循环节)
- 【分治法】循环赛事日程表
- 【分治法】循环赛事日程表
- 【分治法】循环赛事日程表
- 分治法--循环赛事日程表
- 循环日赛表的分治实现
- 【分治法】循环赛事表
- 循环比赛日程表 (分治)
- hdu 1007 分治
- hdu 1007 (分治)
- hdu 4918 点分治
- hdu 4812 树分治
- 3n+1数列问题 5月22号
- poj1018(枚举)
- 《Python 核心编程》 学习记录
- C# 带权重的随机 与 不带权重的随机
- Linux常用命令--网络命令、关机重启命令
- HDU 5690 (分治 || 循环节)
- C语言函数内static关键字详解
- C#网络程序设计1-3:线程支持
- php错误日志保存
- 最大的数 nyoj 1170
- XOJ 4.树的构造
- BZOJ 2763 飞行路线(spfa+分层图)
- 【H5】手机浏览器分批次多张上传图片(文件),包含进度条
- C++函数名的修饰规则