POJ 1061 青蛙的约会
2018-02-22 20:24
302 查看
扩展欧几里得算法求解同余方程最小解
1 #include <cstdio> 2 #include <algorithm> 3 using namespace std; 4 5 long long gcd(int a,int b){ 6 return b==0?a:gcd(b,a%b); 7 } 8 9 void exgcd(long long a,long long b,long long &d,long long &x,long long &y){ 10 if (!b){ 11 d=a; 12 x=1; 13 y=0; 14 return; 15 } 16 long long x1,y1; 17 exgcd(b,a%b,d,x1,y1); 18 x=y1; 19 y=x1-(a/b)*y1; 20 return ; 21 } 22 23 int main(){ 24 25 long long x,y,m,n,l; 26 scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l); 27 long long t,a; 28 long long d; 29 d=gcd(n-m,l); 30 exgcd(n-m,l,d,t,a); 31 t=t*(x-y)/d; 32 long long s=l/d; 33 t=(t%s+s)%s; 34 if ((x-y)%d==0) printf("%lld",t); 35 else printf("Impossible"); 36 return 0; 37 }
相关文章推荐
- poj1061 青蛙的约会(扩展欧几里德算法)
- POJ 1061 青蛙的约会
- POJ 1061 青蛙的约会
- POJ 1061 青蛙的约会(扩展欧几里得)
- POJ 1061 青蛙的约会(扩展欧几里得算法)
- POJ 1061 青蛙的约会
- POJ 1061 青蛙的约会 (扩展欧几里得)
- POJ - 1061 青蛙的约会(拓展GCD
- POJ1061 青蛙的约会(线性同余方程)
- 【POJ 1061】青蛙的约会
- POJ1061 青蛙的约会(扩展欧几里得)
- POJ 1061 青蛙的约会(扩展欧几里德算法)
- Poj 1061 青蛙的约会(扩展欧几里得)
- 青蛙的约会&&http://poj.org/problem?id=1061
- poj 1061 青蛙的约会
- POJ 1061 青蛙的约会(拓展欧几里得)
- 【poj1061】 青蛙的约会
- 青蛙的约会 POJ - 1061 拓展欧几里得
- POJ 1061 青蛙的约会 解题报告(模线性方程)
- Poj 1061 青蛙的约会(扩展欧几里得解线性同余式)