青蛙的约会(扩展欧几里得)

来源:互联网 发布:伊尔18客机数据 编辑:程序博客网 时间:2024/05/19 23:56
#include <iostream>#include <cstdio>using namespace std;typedef long long int ll;//(n-m)*k + L*s = x-yll x,y,m,n,L;ll ex_gcd(ll a , ll b , ll &x , ll &y){    if( b == 0 )    {        x = 1;        y = 0;        return a;    }    ll res = ex_gcd(b,a%b,x,y);    ll t  = x;    x = y;    y = t - a/b*y;    return res;}ll cal(ll a,ll b ,ll c){    ll x,y ;    ll k = ex_gcd(a,b,x,y);    if( c % k )return -1;    x *= c/k;    b /= k;    if( b < 0 )b = -b;    x %= b;    if( x < 0 )x += b;    return x;}int main(){    while(cin >> x >>y >> m >> n >> L)    {        ll  ans=cal(m-n,L,y-x);        if(ans==-1) printf("Impossible\n");        else printf("%lld\n",ans);    }}

原创粉丝点击