pku 1061 - 青蛙的约会
来源:互联网 发布:淘宝卖家评价回复模板 编辑:程序博客网 时间:2024/05/21 12:08
题目:中文题。两只青蛙在一个周长为l的圆上同步跳,初始位置为x,y,每次跳的距离为m,n;
问最早什么时候相遇,求步数。
分析:数论、扩展欧几里得算法。
1.如果d = gcd(a, b),则必能找到整数x和y,使d = a*x+ b*y,证明略;
2.如果gcd(a, b) = 1,则方程ax ≡ c (mod b)在[0, b-1]上有唯一解,证明略;
计算出公约数t,解出的xx*(x-y)/ t 对 l/t 取余数即为要跳的最小步数;
说明:具体过程见代码;
#include <cstdio>__int64 exgcd(__int64 a, __int64 &x, __int64 b, __int64 &y){__int64 r;if (b == 0) {x = 1;y = 0;return a;}r = exgcd(b, y, a%b, x);y = y-a/b*x;return r;}int main(){__int64 x, y, m, n, l, t, xx ,yy, rr;while (~scanf("%I64d%I64d%I64d%I64d%I64d",&x,&y,&m,&n,&l)) {t = exgcd(n-m, xx, l, yy);if ((x-y)%t != 0)puts("Impossible");else {xx = xx*(x-y)/t;rr = l/t;xx = (xx%rr+rr)%rr;printf("%I64d\n",xx);}} return 0;}
0 0
- pku 1061青蛙的约会
- pku 1061 - 青蛙的约会
- pku 1061 青蛙约会
- pku 1061 青蛙约会
- PKU-1061 青蛙的约会 (扩展的欧几里德算法)
- pku 1061 青蛙的约会(解模线性方程)
- pku 1061 青蛙的约会 同余方程
- PKU 1061 青蛙的约会(经典拓展欧几里德)
- pku 青蛙的约会 (扩展欧几里德)
- [1061]青蛙的约会
- 1061--青蛙的约会
- 1061:青蛙的约会
- POJ 1061 青蛙的约会
- poj 1061 青蛙的约会
- POJ 1061 青蛙的约会
- poj 1061 青蛙的约会
- POJ 1061 青蛙的约会
- POJ 1061 青蛙的约会
- (4.3.2.2)ListView 动态设置高度问题
- hive 高级数据类型使用之array(含横表转纵表)
- 2016SDAU课程练习三1002
- 【BZOJ1564】[NOI2009]二叉查找树【区间DP】
- 类似卡片的阴影效果
- pku 1061 - 青蛙的约会
- 抓包工具Fidder详解(主要来抓取Android中app的请求)
- 精选分析listview乱序的原因
- ionic入门教程第十二课-通用模块的分离$ionicModal
- Android Studio中“错误:非法字符 :\65279”解决方案
- 做性能测试,需要关注那些性能指标
- 谈谈对陀螺仪和加速度传感器的感性认识
- 解决api打开显示“已取消到该网页的导航”问题或者api里面没有内容
- 1.mybatis源码剖析_mybatis快速入门