这题为啥评分"困难"?
水的一批.
题目描述:设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y.青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同.纬度线总长L米.现在要你求出它们跳了几次以后才会碰面.
我们可以很简单的列出方程,假定跳t次会相遇.

   x+m*t=y+n*t+k*l.
=> x+m*t=y+n*t+k*l.
=> (n-m)*t+k*l=(x-y).(其中t,k为未知数)

这还用讲吗?就是个ex_gcd了.
代码如下:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ix,iy;//解这个 ai∗xi+bi∗yi=gcd(ai,bi)
void ex_gcd(ll a,ll b)
{
    if(b==0)
    {
        ix=1,iy=0;
        return;
    }
    ex_gcd(b,a%b);
    ll cx=ix,cy=iy;
    ix=cy;iy=(cx-a/b*cy);
}
int main()
{
    ll x,y,n,m,l;
    cin>>x>>y>>m>>n>>l;
    ll a=(n-m); ll b=l;
    ex_gcd(a,b);
    if((x-y)%(__gcd(a,b))!=0)    puts("Impossible");
    else                         cout<<(ix*(x-y)/(__gcd(a,b))%abs(l/(__gcd(a,b)))+abs(l/(__gcd(a,b))))%abs(l/(__gcd(a,b)))<<endl;   
    return 0;
}