poj 1061 青蛙的约会 【拓展欧几里德算法】

poj算法题1061——青蛙的约会 青蛙的约会 http://poj.org/problem?id=1061 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总 阅读详情

先把这方面的一个博客链接贴上(提供知识点的):https://blog.youkuaiyun.com/sdutstudent/article/details/78795643

                                                                                          Time limit

                                                                                           1000 ms

                                                                                         Memory limit

                                                                                           10000 kB

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

思路:https://blog.youkuaiyun.com/qq_40989705/article/details/81208571

代码:

#include<iostream>
#include<algorithm>
#include<string.h>
typedef long long ll;
using namespace std;
int exgcd(ll a,ll b,ll &x,ll &y)  //扩展欧几里德求a与b的最大公约数 
{
	if(b==0)
	{
		x=1;
		y=0;
		return a;
	}
	ll r=exgcd(b,a%b,x,y);
	ll temp=x;
	x=y;
	y=temp - a/b*y;
	return r;
}
ll gcd(ll a,ll b)  //欧几里德 
{
	return b?gcd(b,a%b):a;
}
int main()
{
	ll x,y,m,n,l,k1,k2;
	ll a,b,c,d;
	cin>>x>>y>>m>>n>>l;
	a = m-n;
	b = l;
	c = y-x;
	d = gcd(a,b);
	if(c%d !=0)
	  cout<<"Impossible"<<endl;
	else    //下面就是些基本的操作,可以当作模板使用 
	{
		a/=d;
		b/=d;
		c/=d;
		exgcd(a,b,k1,k2);
		k1*=c;
		cout<<(k1%l+l)%l<<endl;  //防止出现负数的情况 
	}
	return 0;
}

 

青蛙的约会 (POJ - 1061) 题目链接: https://vjudge.net/contest/280753#problem/U 题意: 两只青蛙在圆圈上追赶,圆圈我们可以看作是一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。总长L米。现在要你求出它们跳了几次以后才会碰面。 思路: 对于此题我们可以列方程 (x+mt)-(y+... 阅读详情

相关推荐

从入门到精通:MediaGo跨平台部署全攻略,Docker+NAS实战案例深度拆解!

本篇将深入解析开源媒体处理工具MediaGo的运作机制,该软件具备跨平台兼容性,支持Windows、MacOS及Linux三大主流操作系统。其核心创新在于采用模块化架构设计,用户无需额外依赖任何插件即可完成快速部署。作为GitHub平台上的开源项目,该工具特别注重用户体验设计,通过Docker容器化方案可无缝接入各类网络存储设备,显著优化系统资源占用并提升数据处理效率。以飞牛云NAS系统为实施案例,本文将详细展示本地化部署全流程。

Yawesh的博客 1954

POJ 1061 :拓展欧几里德

题目为POJ1061 青蛙的约会 题意大致为: 两只青蛙在不同的坐标x,y,沿着一个方向跑环,每一次的移动距离为m,n,环的长为L,问能否成功会师即在某一时刻在同一坐标点?输出最小移动次数或“Impossible” 首先是拓展欧几里德,欧几里德算法我们都知道,就是求两个整数a,b的最大公约数gcd,而拓展欧几里德算法在得到gcd的同时,还求解出了ax+by=gcd的一组特解x

weixin_38287798的博客 455

ZLMediaKit在Windows下启用WebRtc编译(64位)

准备软件 cmake-gui vs2017 已经编译好的windows版本openssl(下载地址) 当然,你完全可以自己按照openssl的官网教程自己编译windows版本的openssl libsrtp编译安装 首先,需要将下载好的openssl解压并添加到环境变量。如下图,将下图路径添加到环境变量 其次,下载libsrtp(下载地址) 下载后解压并新建build文件夹,如下图: 在合适位置新建文件夹放置install后的srtp文件,如"D:\develop20..

byna11sina11的博客 1万+

通过POJ1061青蛙的约会来谈拓展欧几里德算法

分类:数论,扩展欧几里德算法,同余方程 作者:ACShiryu 时间:2011-8-3 原题:http://poj.org/problem?id=1061 青蛙的约会 Time Limit:1000MS Memory Limit:10000K Total Submissions:62869 Accepted:9818 Des...

weixin_30650859的博客 62

腾讯滑块验证码collect参数逆向与JSVMP对抗实战

本文深入解析腾讯滑块验证码collect参数的逆向过程与JSVMP虚拟机对抗技术。通过详细的环境搭建、抓包分析和JSVMP逆向技巧,揭示collect参数的生成逻辑与加密流程,并提供完整的模拟实现方案和常见问题排查方法,助力开发者突破腾讯天御验证码的防护机制。

weixin_29009501的博客 1575

当知识图谱遇见多模态:突破文本界限的智能认知革命

本文探讨了知识图谱与多模态技术的融合,揭示了其在医疗诊断、文化保护等领域的革命性应用。通过图神经网络、对比学习框架和跨模态注意力机制等技术,实现了文本、图像和音频数据的智能关联与认知。文章还分享了在Neo4j等图数据库中的实践案例和优化策略,为构建下一代智能认知系统提供了技术参考。

weixin_29197835的博客 464

ACM: POJ 1061 青蛙的约会 -数论专题-扩展欧几里德

POJ 1061青蛙的约会 Time Limit:1000MSMemory Limit:10000KB64bit IO Format:%lld & %llu Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记...

weixin_30583563的博客 134

Python实战:5分钟搞定VCF文件中每个样本的SNP统计(附bcftools安装指南)

本文介绍了三种高效统计VCF文件中每个样本SNP数量的Python方法,包括原生解析、结合bcftools的推荐方案以及使用PyVCF3专业库。特别推荐bcftools结合Python的方法,适用于中大型VCF文件,显著提升处理效率。文章还提供了bcftools安装指南和进阶统计技巧,帮助生物信息学分析人员快速完成SNP统计任务。

weixin_30555125的博客 494

数论,扩展欧几里德算法,同余方程

通过POJ1061青蛙的约会来谈拓展欧几里德算法 分类:数论,扩展欧几里德算法,同余方程 作者:ACShiryu 时间:2011-8-3 原题:http://poj.org/problem?id=1061 青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submission

pi9nc的专栏 799

HighScore3.0实战指南:XRD物相分析从入门到精通(持续更新版)

本文提供HighScore3.0软件进行XRD物相分析的完整实战指南。从软件设置、数据导入、背景扣除、寻峰等预处理步骤,到核心的Search & Match物相搜索匹配、Rietveld精修定量,以及结果输出与常见问题排查,系统讲解了从入门到精通的全流程操作与核心技巧,帮助用户高效完成材料物相鉴定与分析工作。

weixin_29310605的博客 1044

24、中性原子量子计算:原理、方法与实验

本文系统介绍了中性原子量子计算的原理、方法与实验进展。重点阐述了利用碱金属原子作为量子比特,通过磁光阱、光偶极阱和光晶格等技术实现原子捕获与控制的方法。同时,详细分析了单量子比特门操作和量子态工程的实现手段,并总结了相关实验结果与未来发展方向。该技术路线为构建大规模量子计算系统提供了可行方案。

ol789012的博客 244

青蛙的约会(POJ 1061 扩展欧几里德算法)

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

Psychosocial的博客 1724

SSE(Server-Sent Events)完整使用示例

本篇使用Node.js 作为服务端,在浏览器客户端演示SSE的完整实例和演示。实现了一个基于 Server-Sent Events (SSE) 的实时数据推送功能。

oscar999的专栏 750

青蛙的约会(POJ-1061)

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

Alex_McAvoy的博客 1810

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

POJ_1061 青蛙的约会 解题报告

青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 69307   Accepted: 11162 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到

May_heyikai的专栏 887

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ 1061 青蛙的约会

POJ 1061 青蛙的约会 1. 数学题,欧几里得算法,求不定方程的整数解问题; 2. 必要的数学知识(转): 此题其实就是扩展欧几里德算法-求解不定方程,线性同余方程。   设过s步后两青蛙相遇,则必满足以下等式:     (x+m*s)-(y+n*...

dayong9372的博客 212

POJ1061 青蛙的约会

使用拓展欧几里得算法 使用了刘汝佳紫书上的拓展欧几里德程序,具体实现过程还是没怎么看懂。。。看懂了补上。 该代码能解决一个等式问题:a*x+b*y=gcd(a,b),该算式中a,b为已知量,下面代码能得出gcd(a,b),x,y 书上的代码如下: void gcd_more(long long a,long long b,long long &d,long long &x,long lon

kyoma的博客 430

PKU-1061 青蛙的约会 (扩展的欧几里德算法)

原题链接  http://poj.org/problem?id=1061 青蛙的约会 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方

gk1988的专栏 599

poj 1061 青蛙的约会

http://poj.org/problem?id=1061 青蛙的约会 Time Limit:1000MS Memory Limit:10000K Total Submissions:99832 Accepted:19098 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它...

deyou1988的专栏 103

poj1061--青蛙的约会

题目地址:http://poj.org/problem?id=1061 一道简单的拓展欧几里德模板题。可能许多人一开始看不出来和拓展欧几里德有什么关系。 下面分析:对于题意我们可以列出如下的式子, x + km = y+kn mod l, 进一步可以变换为k(n-m) = x-y mod l,看过我前面博客的人都应该看到过,a * x = 1(mod m)等价于 ax + my = 1。所以可...

qq_43227036的博客 189

H - 青蛙的约会解题报告(贺奕凯)

H - 青蛙的约会 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1061 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线

CSUST_ACM的专栏 2135

poj 1061 青蛙的约会

题目链接:http://poj.org/problem?id=1061                                                                              Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可

npu2015303181的博客 630

POJ1061 青蛙的约会

              青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 131703 Accepted: 29025 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线...

aochuiliu8050的博客 80

POJ 1061 青蛙的约会 数学题

<br /> <br />开始用了暴力枚举,后来一看数据这么大,估计肯定超时,无奈上网搜索了一下,考察的是扩展欧几里德算法,还有比较大的整数_int64的处理。<br />转自http://apps.hi.baidu.com/share/detail/16229280<br />  设过s步后两青蛙相遇,则必满足以下等式:<br />    (x+m*s)-(y+n*s)=k*l(k=0,1,2....)<br />  稍微变一下形得:<br />    (n-m)*s+k*l=x-y<br />    令

Coding for Dreams 1789
上一篇: hdu 2087 剪花布条 【kmp】
下一篇: 【优先队列详解】
Dreamers_Boy
博客等级 码龄9年 61粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值