F: Fabulous Race Between Tortoise And Rabbit 扩展欧几里得
http://oj.jxust.edu.cn/contest/Problem?id=1561&pid=5
题目描述
经历了上次的惨败,兔子一直心怀不满,又策划了一场比赛,但这次不再是简单的跑步比赛了,他们将在一个神奇的场地进行一次奇妙的比赛:
这个场地是线性的。它拥有一种神奇的功能,表面看起来它只有L米长,其实是无限的!——当你跑到尽头再往前行进时你会发现,你将从另一端跑出来!
兔子制定的游戏规则很简单:正方向为从右往左,兔子和乌龟同时在不同位置开始朝正方向跑,如果兔子在某一时刻与乌龟相遇(在同一个位置)那么乌龟就输,比赛结束。
乌龟沉思了一会儿,要求增加规则:即兔子和乌龟的速度在整个比赛过程中必须都是不变的。
懒惰又自大的兔子以为这次无论如何都不会输掉比赛,一心只想快点赢,想都没想随口就答应了。
现在对于给定的场地长L,兔子和乌龟的位置x和y,以及兔子和乌龟的速度v1,v2。要你判断兔子是不是会赢呢,如果兔子赢得比赛,就输出“win!”和比赛进行的时间t,如果兔子输掉了比赛,就对它发出嘲讽,输出“lueluelue”
输入
输入包括5个整数x1,y1,v1,v2,L
其中x1≠y1,x1≤2∗109,y1≤2∗109
0<v1,v2≤2∗109,0<L≤2∗109
输出
如果兔子赢得比赛,就在一行输出“win!”,下一行输出比赛持续的时间t
。(t为整数)
如果兔子输掉比赛(即两者永远碰不到)就输出 “lueluelue” 对其嘲讽。
样例输入
2 3 4 5 6
样例输出
win! 5
#include<iostream> #include<string.h> #include<math.h> #define max 0x3f3f3f3f #define ll long long using namespace std; ll x,y,r,s; void exgcd(ll a, ll b, ll &x, ll &y) //拓展欧几里得算法 {if(!b) x = 1, y = 0;else{exgcd(b, a % b, y, x);y -= x * (a / b);} }ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b); } void TY(ll a,ll b,ll c) {r=gcd(a,b);s=b/r;exgcd(a,b,x,y);//得到x0x=x*c/r; //得到x1x=(x%s+s)%s; //得到最小正整数解 } int main() {ll A,B,a,b,L;cin>>A>>B>>a>>b>>L;ll aa=b-a,bb=L,cc=A-B;if(aa<0){aa=-1*aa;cc=-1*cc;//bb=-1*bb; }r=gcd(aa,bb);if(cc%r!=0)printf("lueluelue\n");else{printf("win!\n");TY(aa,bb,cc);printf("%lld\n",x);}return 0;}
转载于:https://www.cnblogs.com/-citywall123/p/10811824.html
F: Fabulous Race Between Tortoise And Rabbit 扩展欧几里得相关推荐
- Justoj Fabulous Race Between Tortoise And Rabbit 拓展欧几里得 技巧
Fabulous Race Between Tortoise And Rabbit 时间限制: 1 s 内存限制: 128 MB 提交 我的状态 题目描述 经历了上次的惨败,兔子一直心怀不满 ...
- Strange Optimization(扩展欧几里得)
Strange Optimization Accepted : 67 Submit : 289 Time Limit : 1000 MS Memory Limit : 65536 KB Str ...
- CodeForces - 724C Ray Tracing(扩展欧几里得解方程)
题目链接:点击查看 题目大意:在 n∗mn*mn∗m 的矩阵中,从点 (0,0)(0,0)(0,0) 发射一个小球,以四十五度的方向出发,速度是 2\sqrt{2}2,当碰到壁时,会进行反射:当碰到 ...
- 牛客多校3 - Fraction Construction Problem(扩展欧几里得)
题目链接:点击查看 题目大意:给出 a 和 b ,求解满足条件的 c,d,e,f ,使得: d < b f < b c,e 均为小于等于 4e12 的正整数 题目分析:分情况讨论一下,首先 ...
- URAL1204. Idempotents(扩展欧几里得)
1204 大体推推 会出来这个式子 x(x-1) = k*n;n = p*q ;x(x-1)%(p*q)==0; 因为p,q都为素数 那也就是说x和x-1中必定包含这两个数 而且一个里面只能有一个 不 ...
- 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法
打死没想到会在H老师处学懂数论 同余,整除 模运算 埃式筛法 欧拉筛法 最大公约数和最小公倍数 辗转相除法 更相减损术 裴蜀定理 威尔逊定理 费马定理 同余等价类.剩余系.缩系 欧拉函数 欧拉定理 扩 ...
- 求解线性同余方程--扩展欧几里得
资料来源:https://blog.csdn.net/ //求解ax=b(mod m) 返回0为无解,否则返回gcd(a,m)个mod m意义下的解,用X[]存 int mod(int a, int ...
- 欧几里得算法扩展欧几里得
本文包括: 1.几里德算法 递归实现 2.扩展欧几里德算法 递归实现 -实际上就是把别人总结的,我认为有助于自己理解的内容copy过来,再加上几句自己的理解. 欧几里得算法 欧几里德算法又称辗转相除法 ...
- 扩展欧几里得复习篇。
扩展欧几里得复习篇. 由于多校考了欧几里得,所以这里复习一波扩欧. 这里主要讲解利用扩欧求解二元一次方程的整数解问题. 0.求解: a x + b y = g c d ( a , b ) ax+by= ...
最新文章
- 16年寒假随笔(4)
- GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
- 趣挨踢 | 用大数据扒一扒蔡徐坤的真假流量粉
- php页面价格排序代码,php 数组动态添加实现代码(最土团购系统的价格排序)
- Java架构师知识体系汇总
- 出售:IM视频会议办公平台客户端服务端纯商业性质运营源码
- 黑苹果固态硬盘_苹果SSD固态硬盘不完全详解
- Hackintool 3.4.7中文版 (黑苹果必备工具箱神器)
- 沧州中考计算机考试时间,2019年沧州中考考试时间安排,沧州中考考试科目时间安排表...
- 测试工具学习——JMeter
- win7连接远程服务器特别慢,技术员告诉您win7远程桌面连接速度慢的具体解决法子...
- 小白快速入门| springcloud系列之-快速上手feign
- python爬取网站视频保存到本地
- dva 脚手架目录分析
- STM8S1003 模拟SPI 驱动 SI4432
- Unity第三人称控制实现方式
- android nfc开发 简书,Android-NFC基础
- Java学习——Java基础
- 提升效率,从这款智能挂灯开始
- Authing 郑凌:我眼中的 Authing
热门文章
- 期刊 论文 催编辑 英文邮件模板
- Scala 方法与函数
- 字节跳动的“放心花“会让你放弃花呗吗?
- 我的浙大MEM上岸经验分享
- python ceil函数的使用
- pytorch深度学习前查看显卡,用nvidia-smi和nvidia-smi查看 -q查看电脑和服务器里的GPU参数情况以及一些英文参数指的意思
- 基于正点原子F103精英板和CubeIDE的Hal库LCD驱动移植(从零开始)
- 又是一年读书日,这十本书你居然还没读过?
- tplogin服务器无响应,tplogin.cn打不开解决教程 | tplogin.cn
- List集合对象处理父子级关系的数据