poj1061 青蛙的约会(扩展欧几里德)
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 98763 | Accepted: 18783 |
Description
我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。
Input
Output
Sample Input
1 2 3 4 5
Sample Output
4
Source
#include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int MOD = 1000000007;
#define LL long long
#define CL(a) memset(a,0,sizeof(a))void exgcd(LL a,LL b,LL &d,LL &x,LL &y)//扩展欧几里德
{if(!b)d=a,x=1,y=0;else{exgcd(b,a%b,d,y,x);y-=x*(a/b);}
}int main()
{LL xx,yy,m,n,l;while(scanf("%lld%lld%lld%lld%lld",&xx,&yy,&m,&n,&l)!=EOF){LL d,x,y;LL a,b,c,mm;a=n-m;b=l;c=xx-yy;exgcd(a,b,d,x,y);if(c%d) printf("Impossible\n");//判断不可能的情况else{x=x*(c/d);mm=b/d;x=(x%mm+mm)%mm;printf("%lld\n",x);}}return 0;
}
poj1061 青蛙的约会(扩展欧几里德)相关推荐
- POJ1061 青蛙的约会【扩展欧几里得算法】
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 126746 Accepted: 27392 Descript ...
- POJ 1061 BZOJ 1477 Luogu P1516 青蛙的约会 (扩展欧几里得算法)
POJ 1061 BZOJ 1477 Luogu P1516 青蛙的约会 (扩展欧几里得算法) 手动博客搬家: 本文发表于20180226 23:35:26, 原地址https://blog.csdn ...
- [BZOJ1477] 青蛙的约会|扩展欧几里得算法
1477: 青蛙的约会 Time Limit: 2 Sec Memory Limit: 64 MB Submit: 306 Solved: 192 [Submit][Status][Discuss ...
- POJ1061青蛙的约会(拓展欧几里得)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 146847 Accepted: 34169 Description ...
- POJ1061 青蛙的约会
使用拓展欧几里得算法 使用了刘汝佳紫书上的拓展欧几里德程序,具体实现过程还是没怎么看懂...看懂了补上. 该代码能解决一个等式问题:a*x+b*y=gcd(a,b),该算式中a,b为已知量,下面代码能 ...
- POJ 1061 青蛙的约会 (扩展欧几里得)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 97673 Accepted: 18409 Descripti ...
- poj1061青蛙的约会
拿到这道题之后,很快就会把它转化为 ax+by=d的求解问题(a,b,d已知,求x,y).这个问题如何求解呢. 我一开始用穷举.很显然,会TLE. 然后,看了别人的解题方法.原来这就是传说中的扩展的欧 ...
- POJ1061 青蛙的约会(扩展欧几里得)题解
Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...
- POJ - 1061 青蛙的约会(扩展欧几里得)
题目链接:点击查看 题目大意:两只青蛙在一个单向循环数轴上跳动,给出初始位置和每秒跳动的距离以及数轴长度,问是否可以相遇,若能相遇求出最小时间 题目分析:自从第一次接触扩展欧几里得以来已经有半年时间了 ...
最新文章
- oracle分页的使用,oracle中分页的实现方式.rownum的使用
- Ios文件连接dlna服务器,iOS播放多种视频格式,实现DLNA|AirPlay投射盒子总结
- [SDOI2009]Elaxia的路线
- 开源、免费、提升办公效率,Win10官方出品
- cpu线程_进程/线程上下文切换会用掉你多少CPU?
- 《openssl编程》之BIO
- WCF netTcpBinding寄宿到IIS7
- node.js入门小案例
- Android中获取IMEI码及其它相关信息的源码
- Vwmare 出现 the msi failed和解决方案
- 32/64位Win7_2017.09通用多合一安装版/Ghost版
- 基于web的博客系统的设计与实现
- pdf文档转word/excel/ppt/图片,pdf加解密,pdf添加水印,pdf拆分合并
- Flowable 流程实例
- 如何获取多屏幕显示器工作区域
- Android uses-permission 权限大全
- Hadoop基本命令(记一次Hadoop课后实验)
- Zookeeper集群启动异常: Cannot open channel to x at election address xx/xxx.xxx.xxx.xxx:3888
- 冷门项目玩法思路,小竞争大利润
- 嵌入式操作系统介绍分析