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 = , y = ;
else
{
exgcd(b, a % b, y, x);
y -= x * (a / b);
}
} ll gcd(ll a,ll b)
{
return b==?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);//得到x0
x=x*c/r; //得到x1
x=(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<)
{
aa=-*aa;
cc=-*cc;
//bb=-1*bb;
}
r=gcd(aa,bb);
if(cc%r!=)
printf("lueluelue\n");
else
{
printf("win!\n");
TY(aa,bb,cc);
printf("%lld\n",x);
}
return ; }

F: Fabulous Race Between Tortoise And Rabbit 扩展欧几里得的更多相关文章

  1. SGU 140 扩展欧几里得

    题目大意: 给定序列a[] , p , b 希望找到一个序列 x[] , 使a1*x1 + a2*x2 + ... + an*xn = b (mod p) 这里很容易写成 a1*x1 + a2*x2 ...

  2. 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】

    Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到C ...

  3. URAL1204. Idempotents(扩展欧几里得)

    1204 大体推推 会出来这个式子 x(x-1) = k*n;n = p*q ;x(x-1)%(p*q)==0; 因为p,q都为素数 那也就是说x和x-1中必定包含这两个数 而且一个里面只能有一个 不 ...

  4. 【扩展欧几里得】BAPC2014 I Interesting Integers (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  5. 例10-2 uva12169(扩展欧几里得)

    题意:已知xi=(a*xi-1+b) mod 10001,且告诉你x1,x3.........x2*t-1,让你求出其偶数列 思路: 枚举a,然后通过x1,x3求出b,再验证是否合适 1.设a, b, ...

  6. HDU1211 密文解锁 【扩展欧几里得】【逆元】

    <题目链接> <转载于 >>> > 题目大意: RSA是个很强大的加密数据的工具,对RSA系统的描述如下: 选择两个大素数p.q,计算n = p * q,F( ...

  7. BZOJ 1965 洗牌(扩展欧几里得)

    容易发现,对于牌堆里第x张牌,在一次洗牌后会变成2*x%(n+1)的位置. 于是问题就变成了求x*2^m%(n+1)=L,x在[1,n]范围内的解. 显然可以用扩展欧几里得求出. # include ...

  8. interesting Integers(数学暴力||数论扩展欧几里得)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwwAAAHwCAIAAACE0n9nAAAgAElEQVR4nOydfUBT1f/Hbw9202m0r8

  9. JZYZOJ1372 [noi2002]荒岛野人 扩展欧几里得

    http://172.20.6.3/Problem_Show.asp?id=1372 想法其实很好想,但是我扩展欧几里得还是用得不熟练,几乎是硬套模板,大概因为今天一个下午状态都不大好.扩展欧几里得算 ...

随机推荐

  1. POJ 1061 青蛙的约会(exgcd)

    嗯... 题目链接:http://poj.org/problem?id=1061 两只青蛙相遇时肯定满足:x+k*m≡y+k*n(mod L) x+k*m-(y+k*n)=L*s k*(n-m)-s* ...

  2. Vue-项目搭建时的常用配置

    1.Vue静态资源存放的选择 assets: 编译过程中会被webpack处理理解为模块依赖,只支持相对路径的形式,assets放可能会变动的文件.static: 存放第三方文件的地方,不会被webp ...

  3. docker学习及应用

    一.docker发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docke ...

  4. python网络爬虫之解析网页的XPath(爬取Path职位信息)[三]

    目录 前言 XPath的使用方法 XPath爬取数据 后言 @(目录) 前言 本章同样是解析网页,不过使用的解析技术为XPath. 相对于之前的BeautifulSoup,我感觉还行,也是一个比较常用 ...

  5. Perl 笔记

    目录 Perl 学习 常用记录 基础 1. 运行perl 2. 字符串 3. 变量 4. 条件 5. 循环 6. 运算符 7. 时间日期 8. 子程序(函数) 9. 引用 10. 格式化输出 11. ...

  6. html 标签 frame

    html 标签 frame 对于html标签,一般都是在<html>标签对里包着<head>标签对和<body>标签对,body元素定义文档的主体,包含文档的所有内 ...

  7. ECMAScript 6 和数组的新功能

    Array. @@iterator 返回一个包含数组键值对的迭代器对象,可以通过同步调用得到数组元素的键值对 copyWithin 复制数组中一系列元素到同一数组指定的起始位置 entries 返回包 ...

  8. 设计模式六大原则——开放封闭原则(OCP)

    什么是开闭原则? 定义:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 开闭原则主要体现在两个方面: 1.对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况. ...

  9. 基础总结篇之八:创建及调用自己的ContentProvider

    转自:http://blog.csdn.net/wellsoho/article/details/49494141 若不能坚持到底,即使是朽木也不能折断:只要坚持不停地用刀刻,就算是金属玉石也可以雕出 ...

  10. idea提交项目到码云

    1.安装Git 2.在码云上创建项目 3.在IDEA提交项目到码云