http://www.lydsy.com/JudgeOnline/problem.php?id=2242

#include<map>
#include<cmath>
#include<cstdio> using namespace std; int y,z,p; map<int,int>mp; int Pow(int a,int b,int m)
{
int ans=;
for(;b;a=1LL*a*a%m,b>>=)
if(b&) ans=1LL*ans*a%m;
return ans;
} int gcd(int a,int b) { return !b ? a : gcd(b,a%b); } void exgcd(int a,int b,long long &x,long long &y)
{
if(!b) { x=; y=; return; }
exgcd(b,a%b,y,x); y-=a/b*x;
} void bsgs()
{
mp.clear();
int m=ceil(sqrt(p));
int mul=z;
//mp[z]=0;
for(int j=;j<=m;++j)
{
mul=1LL*y*mul%p;
mp[mul]=j;
}
int am=Pow(y,m,p);
mul=;
for(int j=;j<=m;++j)
{
mul=1LL*mul*am%p;
if(mp.find(mul)!=mp.end())
{
printf("%d\n",j*m-mp[mul]);
return;
}
}
puts("Orz, I cannot find x!");
} int main()
{
int T,k;
scanf("%d%d",&T,&k);
if(k==)
while(T--)
{
scanf("%d%d%d",&y,&z,&p);
printf("%d\n",Pow(y,z,p));
}
else if(k==)
{
long long x0,y0;
int g;
while(T--)
{
scanf("%d%d%d",&y,&z,&p);
g=gcd(y,p);
if(z%g) puts("Orz, I cannot find x!");
else
{
y/=g; p/=g;
exgcd(y,p,x0,y0);
x0=(x0%p+p)%p;
x0=x0*z/g%p;
printf("%lld\n",x0);
}
}
}
else
while(T--)
{
scanf("%d%d%d",&y,&z,&p);
if(!(y%p)) puts("Orz, I cannot find x!");
else bsgs();
}
return ;
}

bzoj千题计划246:bzoj2242: [SDOI2011]计算器的更多相关文章

  1. bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块

    http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...

  2. bzoj千题计划292:bzoj2244: [SDOI2011]拦截导弹

    http://www.lydsy.com/JudgeOnline/problem.php?id=2244 每枚导弹成功拦截的概率 = 包含它的最长上升子序列个数/最长上升子序列总个数 pre_len ...

  3. bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战

    http://www.lydsy.com/JudgeOnline/problem.php?id=2286 虚树上树形DP #include<cmath> #include<cstdi ...

  4. bzoj千题计划196:bzoj4826: [Hnoi2017]影魔

    http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...

  5. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

  6. bzoj千题计划177:bzoj1858: [Scoi2010]序列操作

    http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...

  7. bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)

    https://www.lydsy.com/JudgeOnline/problem.php?id=4650 如果能够预处理出 suf[i] 以i结尾的形式为AA的子串个数 pre[i] 以i开头的形式 ...

  8. bzoj千题计划304:bzoj3676: [Apio2014]回文串(回文自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3676 回文自动机模板题 4年前的APIO如今竟沦为模板,,,╮(╯▽╰)╭,唉 #include& ...

  9. bzoj千题计划278:bzoj4590: [Shoi2015]自动刷题机

    http://www.lydsy.com/JudgeOnline/problem.php?id=4590 二分 这么道水题 没long long WA了两发,没判-1WA了一发,二分写错WA了一发 最 ...

随机推荐

  1. 移动端三合一瀑布流插件(原生JS)

    没有前言,先上DEMO(手机上看效果更佳)和 原码. 瀑布流形式的图片布局方式在手机等移动端设备上运用广泛,比较常见的是下面前两种: 一.等宽等高 这种形式实现起来非常容易,这里就不再多说. 二.等宽 ...

  2. RabbitMq基础教程之基本概念

    RabbitMq基础教程之基本概念 RabbitMQ是一个消息队列,和Kafka以及阿里的ActiveMQ从属性来讲,干的都是一回事.消息队列的主要目的实现消息的生产者和消费者之间的解耦,支持多应用之 ...

  3. 第三周 构造一个简单的Linux系统MenuOS

    一.   Linux内核源代码简介 稳定版内核:Linux-3.18.6 Linux内核源代码的目录结构: arch目录:在Linux内核源代码里占有的比重很大,因为Linux内核支持很多的体系结构, ...

  4. c# dataGridView 表头格式设置不管用

    解决办法: EnableHeaderVisualStyles设为false

  5. Jquery封装ajax

    Jquery封装ajax   Load方法     <!-- 将jquery.js导入进来 -->     <script type="text/javascript&qu ...

  6. python数据分析所需要了解的操作。

    import pandas as pd data_forest_fires = pd.read_csv("data/forestfires.csv", encoding='gbk' ...

  7. C# winform打开文件夹并选中指定文件

    例如:打开“E:\Training”文件夹并选中“20131250.html”文件 System.Diagnostics.Process.Start("Explorer.exe", ...

  8. ElasticSearch 2 (2) - Setup

    ElasticSearch 2.1.1 (2) - Setup Installation Elasticsearch can be started using: $ bin/elasticsearc ...

  9. Citrix Merchandising Server 配置

    获取Citrix Merchandising Server虚拟镜像: 我们可以从Citrix官网上下载Citrix Merchandising Server(分为XenServer和vSphere), ...

  10. [搜狐科技]由浅入深理解Raft协议

    由浅入深理解Raft协议 2017-10-16 12:12操作系统/设计 0 - Raft协议和Paxos的因缘 读过Raft论文<In Search of an Understandable ...