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. win server 挂载

    新建服务器角色,选择[NFS服务器]. mount -o nolock \\x.x.x.x.x.x\! z:/*链接到*/

  2. win10中,vscode安装go插件排雷指南

    最近学习go,想着使用强大的vscode编写go,在安装go插件过程中,遇到了很多问题.下面记录解决方案. 1)win10环境,安装go,vscode,git 配置GOPATH环境变量,在我的电脑-& ...

  3. docker学习及应用

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

  4. java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 可能是我们运行的java版本过高导致

    最近给自己写了个 SpringBoot 应用程序 顺便练练手,准备把程序过到 树莓派 上,结果登陆报错

  5. Linux - 删除文件的正确方式

    mv <file> /tmp/ cp <file> /opt/file.bak rm

  6. VBA 学习笔记 - 判断语句、循环

    判断语句 大部分和 Lua 差不多,多了一个 Switch 语句 循环 For 循环 多次执行一系列语句,缩写管理循环变量的代码. For i = start To end [Step X]...Ne ...

  7. 一个简单的C++程序及说明

    一个简单的C++程序: #include<iostream> //头文件,因为输入cin,输出cout需要iostream using namespace std; //C++标准程序库中 ...

  8. 操作COOKIE的函数

    一个同学慧涛分享给我的他写的操作cookie的函数,贴出来,做个笔记: //操作cookie //删除cookie hcookie('cookiename','','del'); //查询cookie ...

  9. java.lang.NoClassDefFoundError异常处理

    1.异常信息: Caused by: java.lang.NoClassDefFoundError: com/pingan/cfss/monitor/user/controller/UserInfoC ...

  10. 给Linux安装中文的man手册

    查找 yum list |grep man.*zh 安装 sudo yum install man-pages-zh-CN.noarch 配置 alias cman='man -M /usr//sha ...