【poj 1061】 青蛙的约会

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

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

这道题题意就是求(x+mt)%L=(y+nt)%L的最小正整数解,将原方程化简可以得到(n-m)t+kL=x-y,这样就可以用拓展欧几里得算法解决,下面是程序:

#include<stdio.h>
#include<iostream>
#define ll long long
using namespace std;
ll gcd(ll a,ll b,ll &x,ll &y){
	if(!b){
		x=1;
		y=0;
		return a;
	}
	ll tp=gcd(b,a%b,x,y);
	ll t=x;
	x=y;
	y=t-a/b*y;
	return tp;
}
int main(){
	ll x,y,m,n,l;
	while(~scanf("%lld%lld%lld%lld%lld",&x,&y,&n,&m,&l)){
		ll a=n-m,b=l,c=y-x;
		if(a<0){
			a=-a;
			c=-c;
		}
		ll tp=gcd(a,b,x,y);
		if(c%tp){
			printf("Impossible\n");
		}
		else{
			x=x*c/tp;
			b/=tp;
			cout<<(x%b+b)%b<<endl;
		}
	}
	return 0;
}

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

相关推荐

POJ 1061 青蛙的约会

Poj 1061 青蛙的约会 算法解析:使用扩展欧几里得算法,算是经典的欧几里得原理的应用编程题 辗转相除法(欧几里得算法):gcd(a,b)=gcd(b, a mod b) 扩展欧几里得算法,实际用于求q,p a*p+b*q=gcd(a,b) 求法参照二元一次不定方程解法 算法代码注意事项:由于编译会使得a%b(a0)=r 算法代码:写

BlackLillian的专栏 400

10分钟快速搭建OpenClaw(基于Windows+飞书)

OpenClaw 是一款功能强大的 AI 智能体工具,能够帮助用户管理邮件、日历等日常事务。本文详细介绍了在 Windows11 系统上安装和配置 OpenClaw 的完整步骤,包括 Node.js 环境搭建、Git 安装、OpenClaw 部署以及飞书机器人创建与对接。通过简单的命令行操作和可视化界面配置,用户可以快速完成 AI 助手部署,实现智能办公自动化。文中还提供了飞书机器人权限设置等关键环节的图文指引,帮助用户轻松完成系统集成。

Hello, New World! 2927

POJ - 1061 青蛙的约会 扩展欧几里得 + (贝祖公式)最小正整数解

题意: 青蛙 A 和 青蛙 B ,在同一纬度按照相同方向跳跃相同步数,A的起点为X ,每一步距离为m,B的起点为Y,每一步距离为 n,一圈的长度为L,求最小跳跃步数。 思路: 一开始按照追击问题来写,结果发现会求出来小数,而且按照追击问题写的话,一圈就能相遇,但是!青蛙的步数可没有小数,而且青蛙是跳跃的,显然不能在空中相遇吧。 所以咧,先列出一个追击的式子 ,设步数为 t ,整数为K(转了K圈以后...

HappyCode 349

VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存

本文详细解析了在VS2015+C++环境下,利用海康威视MVS工业相机SDK实现多相机同步采图与保存的全流程。从环境准备、SDK选择到多相机初始化、同步采图方案,再到异常处理与性能优化,提供了实战技巧和代码示例,帮助开发者快速掌握工业相机二次开发的核心技术。

weixin_29170327的博客 281

OpenModelica入门指南:从下载安装到第一个仿真模型(附常见问题解答)

本文提供OpenModelica开源项目的完整入门指南,涵盖从下载安装、界面熟悉到构建首个仿真模型的全过程。通过创建经典的阻尼震荡系统实例,详细讲解组件拖放、参数设置、仿真运行及结果分析,并附有常见问题解决方案,帮助工程师和研究人员快速上手这一强大的多领域物理系统建模与仿真工具。

weixin_29239279的博客 730

POJ1061-青蛙约会(裴蜀公式)

题目链接:青蛙约会 AC代码: import java.util.Scanner; public class Main { static long x; static long y; //返回值为最大公约数 static long ext_gcd(long a, long b) { if (b == 0) { x = 1; y = 0; return a; }

DJL新时代农民工DJL 170

Teams会议翻译对比测试:Copilot同传 vs 人工翻译,结果出乎意料

本文通过对比测试Microsoft 365 Copilot的实时翻译与专业人工翻译在Teams会议中的表现,揭示了AI同传技术在准确率、响应速度和多语言切换方面的优势与局限。实验数据显示,Copilot在常规商务场景下接近人工翻译水平,且成本效益显著,但在专业术语和文化特定表达上仍需人工辅助。

weixin_29054195的博客 224

POJ - 1061 青蛙的约会

本来以为很水,两个蛙蛙之间正向逆向距离 除 速度差就好了,但是不对,还得考虑他们转过好多圈以后 (多少圈不确定,解方程呗) 输入 x, y, m, n, r   =>  假设他们走了 i 步, 转了 j 圈  ==>  m*i - n*i =   (x - y)+ r * j ; ==>  (m-n) * i  +  r * j  =  (x - y) #include #include us

床前明月光 314

菜鸟哥玩蓝牙Ble4.0系列 ESP32初玩篇③ Beacon —— 广播应用,室内定位,内容推送

文章目录1、前言1.1 什么叫做Beacon?1.2 Beacon使用场景1.3 Beacon协议落地实现2、ESP32 Beacon案例3、Beacon核心库 —— BLEBeacon、BLEEddystoneTLM、BLEEddystoneURL3.1 BLEBeacon3.2 BLEEddystoneTLM3.3 BLEEddystoneURL 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。

单片机菜鸟哥的博客 2万+

大学生作业:80C51存储器数据传输实验:基本指令和数据传送

大学生作业:80C51存储器数据传输实验,报价 200 文章目录实验一、80C51存储器数据传输实验实验目的:实验内容一:基本指令实验内容二:数据传送 实验一、80C51存储器数据传输实验 实验目的: 熟悉软件的集成开发环境 掌握单片机软件设计流程,掌握存储器结构及各窗口之间的联系 掌握内部数据存储器、外部数据存储器的数据传送特点和应用; 实验内容一:基本指令 用三种方法实现将累加器A内容改为20H ORG 0000H LJMP MAIN ORG 0030H MAIN: ;方法一使用寄

weixin_54707168的博客 5115

青蛙的约会(POJ-1061)

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

Alex_McAvoy的博客 1810

Google 二次签名 导致 Facebook , Google 登录失败

google 授权登录

xq610928的博客 1957

POJ 1061青蛙的约会题解

POJ 1061青蛙的约会题解 网上似乎有不少此题的解法。我这个post和其他人的相比主要时想说下面几点。 1. 给出一个试图不死记硬背公式的思路; 2. 谈谈暴力解为什么看起来这么诱人,却无法通过; 3. 一些细节及对此题的评价(个人观点) 原题请参考poj: http://poj.org/problem?id=1061 我认为ACM/ICPC应该给人思维的快乐,甚至带有...

u012403020的博客 1027

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj 1061 青蛙的约会

•先让我吐槽一番: 啊啊啊啊啊恶心的数论让我颓了一下午的数论! 数论最恶心,数论最恶心,数论最恶心……重要的事情说三遍! 不管了好不容易懂了一个数论题,赶紧跑来写博客(以后不会了就来):————————萌萌哒分割线———————–<经典问题>poj 1061 青蛙的约会前言: 先来一段exgcd推导: –>对于方程 ax+by=c; –>当且仅当 c=k*gcd(a,b)时,方程有解;

Loi_LXTT 402

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

POJ1061 青蛙的约会

1 /* 2 POJ1061 青蛙的约会 3 http://poj.org/problem?id=1061 4 扩展欧几里得 5 6 原题为求t使得,存在l满足 7 (x+mt)-(y+nt)=cl 8 即求 9 cl+(n-m)t=x-y 10 * 11 * 12 * 13 */ 14 15 ...

dianan9456的博客 118

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

POJ-1061-青蛙的约会

POJ-1061-青蛙的约会 传送门 这道题就是简单的扩展欧几里得的运用~ 题面是中文~就不解释啦 设青蛙a初始坐标为xx,青蛙a一次跳m个单位,青蛙b初始坐标为yy,青蛙b一次跳n个单位。L是纬线的长度。 (其实我还百度了一下纬线是纵向还是横向啊哈哈哈,是横向哈~) 我们设跳t次后可以相遇。 那么青蛙a跳的距离: xx + t * m; 青蛙b跳的距离为: yy + t * n; 他们相遇要满足...

qq_44624316的博客 202

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

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

Psychosocial的博客 1725

POJ 1061青蛙的约会 ,扩展欧几里得算法

POJ 1061青蛙的约会 ,扩展欧几里得算法

DJR228的专栏 733

[数论] 拓展欧几里得算法 (poj1061 青蛙的约会)

poj1061 青蛙的约会 拓展欧几里得算法 http://blog.youkuaiyun.com/qq_36038511/article/details/76887494

kkkGIGi_qtt 360

POJ1061青蛙的约会

poj 1061青蛙的约会  http://poj.org/problem?id=1061  题意:有两只青蛙,一只在坐标x,另一直在坐标y,青蛙x一次跳跃可以前进m单位距离,青蛙y一次跳跃可以前进n单位的距离,两青蛙都在同一纬度,该纬度长度为L。两只青蛙同方向同时跳啊跳,问你最少跳多少次,它们才可以相遇,如果不能相遇,输出impossble 这个题老是纠结正负有没有影响。。答案是没有

mayuqing98的博客 271
上一篇: 【poj 1274】 The Perfect Stall 【USACO 40】
下一篇: 【bzoj1834】 network 网络扩容 【ZJOI2010】
TLECODE
博客等级 码龄9年 8粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值