poj 1061-青蛙的约会-拓展gcd
来源:互联网 发布:如何传软件 编辑:程序博客网 时间:2024/04/26 05:43
赤裸裸的 拓展欧几里得的应用。
注意 无法完成的条件的限制
和为什么是 M-n不是 n-m;
x+m*t-y-n*t==l*p;//因为m小,所以m应该在前面的。
x-y==(n-m)*t+l*p;
欧几里得就带入 n-m 和 l 这俩参数
然后 就是模板的套路了,。
纯纯的模板
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#define LL long longusing namespace std;//x*a+y*b==gcd(a,b);//(m-n)x+lb==X-Y;//和 变量名字一样// 拓展欧几里德。long long exgcd(LL a,LL b,LL &x,LL &y){ if(b==0) { x=1; y=0; //如果b为0,那么gcd a就是a 啊; return a; } LL r=exgcd(b,a%b,x,y); LL t=x; x=y; y=t-a/b*y; return r;}int main(){ LL n,m,x,y,l; while(~scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l)) { LL ar,al; long long e=exgcd(n-m,l,ar,al);//为啥非得这样 if((x-y)%e||m==n) { printf("Impossible\n"); } else { // n*t+y+l*p=m*t+x; // LL mod=l/e; LL ans=(ar%mod+mod)%mod; printf("%lld\n",ans); } } return 0;}
0 0
- poj 1061-青蛙的约会-拓展gcd
- [拓展欧几里得] poj 1061 青蛙的约会
- POJ 1061 青蛙的约会【拓展欧几里得】
- POJ 1061 青蛙的约会 拓展欧几里德
- Poj 1061 青蛙的约会【拓展欧几里得】
- poj 1061 青蛙的约会 拓展欧几里得
- POJ.1061 青蛙的约会 (拓展欧几里得)
- POJ 1061青蛙的约会(拓展欧几里得)
- POJ 1061 青蛙的约会 (拓展欧几里得)
- POJ 1061 青蛙的约会 (扩展GCD)
- POJ 1061 青蛙的约会 【扩展GCD】
- poj-1061青蛙的约会 扩展GCD
- poj 1061 青蛙的约会 扩展gcd
- poj 1061 青蛙的约会(gcd拓展,解不定方程)
- POJ 1061 青蛙的约会(拓展的欧几里得)
- poj 1061 青蛙的约会(拓展欧几里德)
- POJ 1061 青蛙的约会(拓展欧几里得)
- poj 青蛙的约会 1061 (拓展欧几里得 模板)
- 关于Gson和XML的解析方式
- linear regression(1)-multiple features
- 欢迎使用CSDN-markdown编辑器
- c++之大数 实现加减法
- C语言函数参数压栈顺序为何是从右到左?
- poj 1061-青蛙的约会-拓展gcd
- 反向并查集-国王的烦恼
- 【1.0】-51单片机驱动安装与keil软件的使用
- c++ 带参数的宏定义 实现反射机制
- 百度地图的简单用法
- java四大域总结
- HDOJ 4284 Travel (DFS + Floyd )
- 316. Remove Duplicate Letters
- Leetcode 414. Third Maximum Number