青蛙的约会
源代码如下:
#include <iostream>
#define LL long long
using namespace std;
LL x,y,n,m,l;
inline LL exgcd(LL a,LL b,LL &x,LL &y){
if(a == 0){
x = 0,y = 1;
return b;
}
register LL d = exgcd(b%a,a,y,x);
x -= b / a * y;
return d;
}
int main(){
LL a,b,d;
cin >> x >> y >> m >> n >> l;
if(n < m) swap(m,n), swap(x,y);
d = exgcd(n-m,l,a,b);
if((x-y) % d || m == n) puts("Impossible");
else cout << (a*(x-y) / d % (l/d) + (l/d)) % (l/d) << endl;
return 0;
}