<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: POJ 青蛙的约会 Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 118448Accepted: 24842Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。

POJ 青蛙的约会

Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 118448 Accepted: 24842

Description

两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。

我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。

Input

输入只包括一行5个整数x,y,m,n,L,其中x≠y < 2000000000,0 < m、n < 2000000000,0 < L < 2100000000。

Output

输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行”Impossible”

Sample Input

1 2 3 4 5

Sample Output

4

Source

关于本题的思路首先需要有对扩展欧几里得和乘法逆元【第一次接触请点击进行详细理解】的了解,由题意知道青蛙A和青蛙B的初始位置和每次跳几下【即速度】,若想要相遇,则速度快的青蛙要比慢的青蛙多走至少1圈或k圈,可列方程(y-x)+(m-n)*t=k*L;即(m-n)*t+k*L=y-x;

AC 代码:

#include 
 #include 
using namespace std;
typedef long long LL;
LL e_gcd(LL a,LL b,LL &x,LL &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return a;
    }
    LL ans=e_gcd(b,a%b,x,y);
    LL t=x;
    x=y;
    y=t-a/b*y;
    return ans;
}
LL cal(LL a,LL b,LL l)
{
    LL x,y;
    LL gcd=e_gcd(a,b,x,y);
    if(l%gcd)
        return -1;
     x*=l/gcd;
     b/=gcd;
     if ( b<0) b = - b;
     LL ans=x%b;
     if(ans<=0)
        ans+=b;
     return ans;
}
int main()
{
    LL s1,s2,v1,v2,m;
    ios::sync_with_stdio(false);
    cin>>s1>>s2>>v1>>v2>>m;
    LL q=cal(v1-v2,m,s2-s1);
    if(q==-1)
        cout<<"Impossible"<            
tonemy
+关注
目录
打赏
0
0
0
0
2
分享
相关文章
|
11月前
|
②CPU - 运算器、控制器 【软考-软件设计师考点】
②CPU - 运算器、控制器 【软考-软件设计师考点】
286 0
|
11月前
|
一键解决监控难题,这几款公司电脑监控软件强力推荐
监控员工电脑活动和保护孩子网络安全的解决方案来了!WorkWin软件提供移动部署、USB及带宽管理,权限控制,实时监控,远程管理和时间统计,确保企业高效安全运行。SentryPC则助力家长过滤网站内容,限制应用时间,实现远程监控。Employee Desktop Live Viewer提供实时桌面监控,网站浏览和应用使用记录,以及文件操作追踪,全面保障企业数据安全。[了解更多](https://www.bilibili.com/read/cv34201624/)
226 1
项目的开发流程是什么?
产品经理提出新需求,召集开发讨论,明确需求后评估技术与工作量。后端与前端商定接口,前端未及时可直接开发。确定接口和表结构后,进行技术调研。接着编码开发,自测无误提交测试环境,前端联调。测试人员进行功能测试,发现问题记录在bug管理工具中,后端修复后再次测试。
76 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname 0bin=cdbin;pwd`STATE_OK=...
1079 0
云存储普及需要完整生态链
本文讲的是云存储普及需要完整生态链,云存储是眼下人们最关注的一件事,因为它影响着电子商务的业务模式。而存储服务本身也会成为一项大型的电子商务服务。
1193 0