线性同余方程$ ax \equiv b \pmod n$可以用扩展欧几里得算法求解。

这一题假设青蛙们跳t次后相遇,则可列方程:

$$ Mt+X \equiv Nt+Y \pmod L$$
$$ (M-N)t \equiv Y-X \pmod L$$

于是就构造出一个线性同余方程,即可对t求解,解出最小非负整数解。

 #include<cstdio>
#include<cstring>
using namespace std;
#define mod(x,y) (((x)%(y)+(y))%(y))
#define lld long long
//a*x+b*y=gcd(a,b)
lld exgcd(lld a,lld b,lld &x,lld &y){
if(b==){
x=; y=;
return a;
}
lld d=exgcd(b,mod(a,b),x,y);
lld t=y;
y=x-a/b*y;
x=t;
return d;
}
//ax¡Ôb (mod n)
lld MLES(lld a,lld b,lld n){
lld x,y;
lld d=exgcd(a,n,x,y);
if(b%d) return -;
return mod(x*(b/d),n/d);
} int main(){
lld x,y,m,n,l;
scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);
lld res=MLES(m-n,y-x,l);
if(res==-) puts("Impossible");
else printf("%lld",res);
return ;
}

最新文章

  1. 滑动的scrollowview的导航渐变
  2. VS2010中的查找和替换中正则的使用
  3. 设计模式可复用面向对象软件设计基础之对象创建型模式—ABSTRACT FACTORY( 抽象工厂)
  4. 怎样测试TCP&amp;UDP端口
  5. jmeter的逻辑控制器
  6. Android loading进度条使用简单总结
  7. Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)
  8. javascript 实现jsonp
  9. 谓词--Predicate
  10. Java类锁和对象锁实践(good)
  11. MySQL数据库安全策略
  12. Mysql读写分离方案-Amoeba环境部署记录
  13. [C++] const与重载
  14. JS中文转换(UTF-8),url传递中文乱码解决
  15. tesseract text2image windows
  16. js td innerHTML
  17. Python的open函数文件读写线程不安全,logging模型文件读写线程安全!
  18. Scrum立会报告+燃尽图(Final阶段第六次)
  19. 芒果TV 视频真实的地址获取
  20. http://www.xuexi111.com/

热门文章

  1. JavaScript中的Function(函数)对象详解
  2. Linux中常用的查看系统信息的命令
  3. LVS负载均衡集群服务搭建详解(二)
  4. function foo(){}、(function(){})、(function(){}())等函数区别分析
  5. Access数据库之偏移注入
  6. 【OpenStack】OpenStack系列10之Horizon详解
  7. 【leetcode】3Sum Closest
  8. 【转】Eclipse中查看jar包中的源码
  9. cas单点登录用户名为中文的解决办法
  10. Google Code Jam 2014 Round 1B Problem B