博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1061 青蛙的约会【扩欧】
阅读量:4567 次
发布时间:2019-06-08

本文共 758 字,大约阅读时间需要 2 分钟。

题意:

两只青蛙在地球同一纬度不同位置x,y向同一方向跳,每只青蛙跳的长度不同m,n,纬线总长度l,问两只青蛙是否能相遇,跳几次才相遇。

分析:

可知,问题可转化为求(mn)a(yx)(modl)的最小值解a

代码:

#include
using namespace std;typedef long long ll;ll extgcd(ll a, ll b, ll& x,ll &y){ ll d = a; if(b!=0){ d = extgcd(b, a%b, y, x); y -= (a/b)*x; }else { x = 1; y = 0; } return d;}ll cal(int a, int b, int c){ ll x, y; ll gcd = extgcd(a, b, x, y); if(c % gcd != 0) return -1; x *= c/gcd; b /= gcd; if(b < 0) b = -b; ll ans = x % b; if(ans <= 0) ans += b; return ans;}int main (void){ long long x, y , m , n , l; cin>>x>>y>>m>>n>>l; ll ans = cal(m - n, l , y-x); if(ans == -1) cout<<"Impossible"<

转载于:https://www.cnblogs.com/Tuesdayzz/p/5758827.html

你可能感兴趣的文章
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>
模拟window系统的“回收站”
查看>>
OpenCV中的split函数
查看>>
MongoDB divide 使用之mongotempalte divide
查看>>
SSH不允许进行DNS解析
查看>>
Git(介绍和安装)
查看>>
磁盘管理
查看>>
重写与重载
查看>>