洛谷P1516 青蛙的约会

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 ll m,n,x,y,l,t,k,d;
 5 void exgcd(ll a,ll b,ll &x,ll &y) {if(!b) {x=1;y=0;d=a;return;}exgcd(b,a%b,y,x);y-=x*(a/b);}
 6 int main()
 7 {
 8     scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);
 9     ll a=m-n,c=y-x;
10     if(a<0) a=-a,c=-c;
11     exgcd(a,l,t,k);
12     if(c%d) {printf("Impossible");return 0;}
13     t=((t*(c/d))%(l/d)+(l/d))%(l/d);
14     printf("%lld",t);
15     return 0;
16 }
原文地址:https://www.cnblogs.com/yu-xing/p/10262013.html