2020 9 17POJ青蛙约会
青蛙约会
- 欧几里得算法
- 个人想法
- 代码实现
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。
欧几里得算法
(x+m*t) - (y+n*t) = L * ll 其中ll是两只青蛙跳的圈之差。
个人想法
首先求出两只青蛙的速度差v = x - y,即每跳一步两者之间的距离差,用两只青蛙之间的距离
l = m - n来整除v,如果能够整除那么就可以在一定步数之后相遇,如不能,没关系,可以加圈
数,但是不能无限加下去,加到v 圈之后不能再加了,在v圈之后再加一圈相当于只加一圈,因
为(l + v*L)// v = l。
代码实现
很惭愧没有过oj,但是带入近20个值都没有问题。
/*
2020 09 17
青蛙约会问题
*/#include<iostream>
#include<string>
using namespace std;long long func(long long sub,long long subL, long long L);int main(){long long f1,v1,f2,v2,L;cin>>f1>>f2>>v1>>v2>>L;if(f1>f2){if(v1>v2){long long x = func(v1-v2,f2-f1+L,L);if(x != -1)cout<<x<<endl;else cout<<"Impossible"<<endl;}else{long long x = func(v2-v1,f1-f2,L);if (x != -1)cout << x<<endl;elsecout << "Impossible" <<endl;}}else{if(v1>v2){long long x = func(v1-v2,f2-f1,L);if (x != -1)cout << x <<endl;elsecout << "Impossible" <<endl;}else{long long x = func(v2-v1,f1-f2+L,L);if (x != -1)cout << x <<endl;elsecout << "Impossible" <<endl;}}return 0;
}long long func(long long sub,long long subL, long long L){for(long long i = 0; i <sub; i++){if((i*L+subL)%sub == 0)return (i*L+subL)/sub;}return -1;
}
2020 9 17POJ青蛙约会相关推荐
- 问题 A: 青蛙约会(数学)
问题 A: 青蛙约会 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 两只青蛙在一个点,但是他们想要来个久别胜新婚的约会,于是他们出发,朝同一个方向绕圈跳,我们 ...
- vijos P1009清帝之惑之康熙
</pre>背景康熙是中国历史乃至世界历史中最伟大的帝王之一,清除螯拜,撤除三藩,统一台湾,平定准葛尔叛乱:与此同时,出众的他也被世界各国遣清使臣所折服.康熙是历史上少有的全人,不仅文武兼 ...
- 凌云版c语言程序设计与实践答案,C语言程序设计与实践 凌云,吴海燕,谢满德著 9787111310075...
商品描述: 基本信息 书名:C语言程序设计与实践 原价:33.00元 作者:凌云,吴海燕,谢满德 编著 出版社:机械工业出版社 出版日期:2010-9-1 ISBN:9787111310075 字数: ...
- P1516 青蛙的约会 [exgcd]
P1516 青蛙的约会 题意:在一个长为\(l\)的环上面有两只青蛙,一只出发点为\(x\),一次跳\(m\),另一只出发点为\(y\),一次跳\(n\),求相遇时间. 这个长为\(l\)的环不难想到 ...
- POJ 1061 青蛙的约会(扩展欧几里得)
青蛙的约会 Time Limit: 1000MS Memory Lim ...
- POJ 1061 BZOJ 1477 Luogu P1516 青蛙的约会 (扩展欧几里得算法)
POJ 1061 BZOJ 1477 Luogu P1516 青蛙的约会 (扩展欧几里得算法) 手动博客搬家: 本文发表于20180226 23:35:26, 原地址https://blog.csdn ...
- 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)
青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问 ...
- 数论:扩展欧几里德(洛谷P1516 青蛙的约会)
欧几里德 基本思想:gcd(q,r)=gcd(r,q%r); 证明,设q.r的最大公因数为a,则q=xa,r=ya,xy互质 不妨设x>y(显然如果小于会在一次gcd运算后交换) 则q%r=(x ...
- 1477: 青蛙的约会
1477: 青蛙的约会 Time Limit: 2 Sec Memory Limit: 64 MB Submit: 261 Solved: 164 [Submit][Status][Discuss ...
最新文章
- [Ubuntu] SVN常用的批量操作
- codeforces 711B - Chris and Magic Square(矩阵0位置填数)
- 电子计算机信息工程都是做什么的,电子信息工程专业将来干什么 就业前景好不好...
- Spring Boot 最佳实践(一)快速入门
- 直播预告丨统一便捷的数据操作平台CloudQuery年终发布!
- 关于:win远程桌面连接命令怎么用
- 网站建设如何选择CMS网站系统
- 【c++入门(2)】完全背包
- 今日金融词汇---前复权,是什么?
- 使用async.whilst要注意的地方
- 工欲善其事必先利其器(一) —— VScode
- 6行代码实现js打印表格
- flutter中App签名
- 你可能没有细究过的TCP/IP
- putty之pscp用法
- IP地址分配和IP地址的划分
- UserGuide-i3wm默认绑定简明说明
- 16 个动态图!一款好用到爆的 Python 可视化利器
- java 金额比较大小写_Java金额大小写的转换方法
- 哈工大2021 形式语言与自动机期末
热门文章
- Delaunay 三角剖分2D(原理 + 源码)
- 成熟的B端产品经理,都有这个能力
- 语音识别-特征提取 (一)
- 大众点评Cat--架构分析
- Python_001_旅游评论情感倾向性分析_000_分析(基于深度学习的微博评论情感倾向性分析_胡西祥)论文
- C#属性简写用法 {get;set}
- 【英语学习工具】解说 LeHoCat 提供免费的 视频集制作工具 使用方法, 看视频学英语的制作工具, 制作英语教学课件的工具, 帮助自学英语(详细图文解说)
- 永恒之蓝(MS17-010)漏洞复现及msf常用渗透命令
- java豆瓣查书api_如何通过豆瓣API获取图书和电影列表
- 微信公众号里如何上传html,微信公众号怎么做表单,微信万能表单如何添加到公众号里...