文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>POJ 1061 青蛙的约会

POJ 1061 青蛙的约会

时间:2010-09-20  来源:步碎酒散花醉

Run ID User Problem Result Memory Time Language Code Length Submit Time
7643827 kingpro 1061 Accepted 172K 0MS C++ 497B 2010-09-20 16:19:25

 

#include <stdio.h>
typedef long long i64;
i64 gcd(i64 a,i64 b){ return b?gcd(b,a%b):a; }
i64 ext_gcd(i64 a,i64 b,i64& x,i64& y){ i64 t,ret; if (!b){ x=1,y=0; return a; } ret=ext_gcd(b,a%b,x,y); t=x,x=y,y=t-a/b*y; return ret;}
int main()
{
        i64 x, y, m, n, L, s;
        scanf("%lld %lld %lld %lld %lld", &x,&y,&m,&n,&L);
        n-=m, x-=y, s=gcd(L, n),
        (x%s!=0 ? printf("Impossible\n") : (L/=s, n/=s, x/=s, ext_gcd(L, n, m, y), s=x*y/L, y=x*y-s*L, y<0 && (y+=L), printf("%lld\n", y)));
        return 0;
}

 

有x+mt-(y+nt)=kL => kL+(n-m)t=x-y => kL+nt=x, (n-=m, x-=y) => 由扩展Euclid求解gcd(a,b)=ax+by 进而求得最小且不小于0的t

相关阅读 更多 +
排行榜 更多 +
别惹神枪手安卓版

别惹神枪手安卓版

冒险解谜 下载
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载