洛谷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 }