2016"百度之星" - 初赛(Astar Round2A) A.All X 矩阵快速幂
All X
F(x, m)F(x,m) 代表一个全是由数字xx组成的mm位数字。请计算,以下式子是否成立:
F(x,m)\ mod\ k\ \equiv \ cF(x,m) mod k ≡ c
第一行一个整数TT,表示TT组数据。 每组测试数据占一行,包含四个数字x,m,k,cx,m,k,c
1\leq x\leq 91≤x≤9
1\leq m\leq 10^{10}1≤m≤1010
0\leq c< k\leq 10,0000≤c<k≤10,000
对于每组数据,输出两行: 第一行输出:"Case #i:"。ii代表第ii组测试数据。 第二行输出“Yes” 或者 “No”,代表四个数字,是否能够满足题目中给的公式。
3
1 3 5 2
1 3 5 1
3 5 99 69
Case #1:
No
Case #2:
Yes
Case #3:
Yes
对于第一组测试数据:111 mod 5 = 1,公式不成立,所以答案是”No”,而第二组测试数据中满足如上公式,所以答案是 “Yes”。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<queue>
#include<algorithm>
#include<stack>
#include<cstring>
#include<vector>
#include<list>
#include<set>
#include<map>
using namespace std;
#define ll __int64
#define mod 1000000007
#define inf 100000000000005
#define MAXN 10000010
#define pi 4*atan(1)
#define esp 0.000000001
//#pragma comment(linker, "/STACK:102400000,102400000")
struct is
{
ll a[][];
};
ll x,m,k,c;
is juzhenmul(is a,is b,ll hang ,ll lie)
{
int i,t,j;
is ans;
memset(ans.a,,sizeof(ans.a));
for(i=;i<=hang;i++)
for(t=;t<=lie;t++)
for(j=;j<=lie;j++)
{
ans.a[i][t]+=(a.a[i][j]*b.a[j][t]);
ans.a[i][t]%=k;
}
return ans;
}
is quickpow(is ans,is a,ll x)
{
while(x)
{
if(x&) ans=juzhenmul(ans,a,,);
a=juzhenmul(a,a,,);
x>>=;
}
return ans;
}
int main()
{
ll x,y,z,i,t;
int T,flag=;
scanf("%d",&T);
while(T--)
{
scanf("%I64d%I64d%I64d%I64d",&x,&m,&k,&c);
is ans,base;
memset(ans.a,,sizeof(ans.a));
ans.a[][]=;
ans.a[][]=;
base.a[][]=;
base.a[][]=;
base.a[][]=;
base.a[][]=;
is gg;
gg.a[][]=x;
gg.a[][]=x;
ans=quickpow(ans,base,m-);
ans=juzhenmul(gg,ans,,);
//printf("%I64d\n",ans.a[1][1]);
printf("Case #%d:\n",flag++);
if(ans.a[][]==c)
printf("Yes\n");
else
printf("No\n");
}
return ;
}
2016"百度之星" - 初赛(Astar Round2A) A.All X 矩阵快速幂的更多相关文章
- 2016百度之星-初赛(Astar Round2A)AII X
Problem Description F(x,m) 代表一个全是由数字x组成的m位数字.请计算,以下式子是否成立: F(x,m) mod k ≡ c Input 第一行一个整数T,表示T组数据. 每 ...
- 2016"百度之星" - 初赛(Astar Round2B) 1006 中位数计数
思路:统计当前数左边比它小|大 i个人,相应右边就应该是比它大|小i个人 l数组表示左边i个人的方案 r表示右边i个人的方案 数组下标不可能是负数所以要加n //#pragma comment(lin ...
- 2016"百度之星" - 初赛(Astar Round2A)HDU 5695 拓扑排序+优先队列
Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 2016百度之星 初赛2A ABEF
只做了1001 1002 1005 1006.剩下2题可能以后补? http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0% ...
- HDU 5690:2016"百度之星" - 初赛 All X
原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 2016"百度之星" - 初赛(Astar Round2A)Gym Class(拓扑排序)
Gym Class Accepts: 849 Submissions: 4247 Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65 ...
- 2016"百度之星" - 初赛(Astar Round2A)All X(数学 矩阵)
All X Accepts: 1281 Submissions: 7580 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- 2016"百度之星" - 初赛(Astar Round2A) 1004 D Game 区间DP
D Game Problem Description 众所周知,度度熊喜欢的字符只有两个:B 和D. 今天,它发明了一个游戏:D游戏. 度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只 ...
- 2016"百度之星" - 初赛(Astar Round2A)1002 / HDU 5691 状态压缩DP
Sitting in Line Problem Description 度度熊是他同时代中最伟大的数学家,一切数字都要听命于他.现在,又到了度度熊和他的数字仆人们玩排排坐游戏的时候了.游戏的规则十 ...
- 2016"百度之星" - 初赛(Astar Round2A)
题目链接: http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=701 1001 : 矩阵快速幂 #include <iostre ...
随机推荐
- nginx负载均衡模块
1.upstream 模块 upstream backend { server backend1.example.com weight=5 max_fails=10 fail_timeout=10s; ...
- SElinux以及防火墙的关闭
[root@localhost targeted]# pwd/etc/selinux/targeted[root@localhost targeted]# getsebool -a|grep samb ...
- apache工作模式worker以及prefork的切换
apache比较常用的工作模式有worker以及prefork两种方式. 如果在编译时候不指定,系统默认的是prefork模式:如果需要换成worker模式,需要在编译的时候带上编译参数:--with ...
- centos7.4yum错误
1. 首先删除redhat原有的yum rpm -aq | grep yum | xargs rpm -e --nodeps rpm -aq | grep python-iniparse | ...
- 【NotePad++】使用指南
身为一名程序员,这绝对是很常用的工具,但是你真的用了他的全部功能么? 教程参考: [crifan 推荐]轻量级文本编辑器,Notepad 最佳替代品:Notepad++ 注:一个很详细的教程,虽然老, ...
- 自定义Realm解析
自定义Realm解析---------------------------------------> /* * Copyright 2005-2013 shopxx.net. All right ...
- ruby rvm groke
https://ruby-china.org/wiki/rvm-guide http://www.cnblogs.com/peak-c/p/7338291.html https://doc.yonyo ...
- 系统中同时有 python2和 python3,怎么让 ipython 选择不同的版本启动?
已经安装的情况下: > which ipython /usr/local/bin/ipython > cat /usr/local/bin/ipython #!/usr/local/op ...
- WebSocket client for python
Project description websocket-client module is WebSocket client for python. This provide the low lev ...
- ubuntu 安装搜狗
先按照这个选择fcitx: https://blog.csdn.net/qq_40563761/article/details/82664851 然后重启 右上角会出现键盘图片点击选configura ...