poj1061青蛙的约会

2023-05-16

题目链接

                           http://poj.org/problem?id=1061

题目类型

                            扩展欧几里得算法

解题思路

        设青蛙A为速度快的那只,则有(m - n) * t - k * l = y - x
         令a = m - n, b = l, c = y - c则把原方程转化为ax + by = c
         我们需要判断该方程是否有解,如果有我们要求一个关于x的最小正数解
         求解过程就用到了我们的扩展欧几里得算法,直接上板子即可

AC代码

#include<stdio.h>
#include<algorithm>
using namespace std;

typedef long long LL;

void gcdEx(LL a,LL b,LL &d,LL &x,LL &y)
{
    if(!b)
    {
        x = 1; y = 0;
        d = a;
    }
    else
    {
        gcdEx(b,a % b,d,y,x);
        y -= x * (a / b);
    }
}

int main()
{
    LL m,n,x,y,l;
    while(scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l) == 5)
    {
        if(m < n)
        {
            swap(x,y);
            swap(m,n);
        }
        LL g;
        LL a = m - n;
        LL b = l;
        LL c = y - x;
        gcdEx(a,b,g,x,y);
        if(c % g) printf("Impossible\n");
        else
        {
            x = x * c / g;
            LL b1 = b / g;
            if(x > 0) x = x % b1;
            else x = x % b1 + b1;
            printf("%lld\n",x);
        }
    }
    return 0;
}


               
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

poj1061青蛙的约会 的相关文章

  • Python创建模块并导入

    Python创建自己的模块很方便 xff0c 所有的 py文件都被视为是一个模块 我们可以用import 文件名的方式把它导入自己的新文件 不过我们要注意创建的模块要符合命名规范 xff0c 比如首字母不能是数字等 如果首字母是数字就会出现
  • Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

    现象 xff1a android util AndroidRuntimeException Calling startActivity from outside of an Activity context requires the FLA
  • Python查看库安装路径

    打开IDLE xff0c 输入如下两行指令 import sys print sys path 3 如下图
  • 安装pip教程

    相信在安装pip之前大家一定都安装了Python 所以我们找到Python的根目录下的Script文件夹 xff08 如果忘记了我们的安装目录可以参考文章http blog csdn net dongchengrong article de
  • pip常用指令

    安装库 xff1a pip install packageName flask 卸载库 xff1a pip uninstall packageName flask 升级库 xff1a pip install upgrade packageN
  • Python操作文件和目录

    对文件和目录进行操作是在我们开发过程中必不可少的一环 xff0c 下面是我整理的一些常用的对文件和目录进行操作的语句 xff0c 希望能帮到你 首先是导包 xff0c 导入包os xff0c import os 1 获取当前Python脚本
  • UVA227解题报告

    因为网格中存在空格所以用gets录入 xff0c 首先录入一行数据 xff0c 如果第一个字符为 39 Z 39 则break退出循环 其次是对指令的接受与处理 接受指令可以用getchar xff0c 遇到换行符跳过 处理也很简单 xff
  • win10/win11系统 如何将7-zip设置为默认软件?

    步骤 第一步 xff0c 首先下载7 zip第二步 xff0c 点击下载的7 zip安装包第三步 xff0c 进入你安装7 zip的文件夹下 xff0c 然后找到7 Zip File Manager第四步 xff0c 右键以管理员权限运行7
  • 南阳理工OJ915解题报告

    描述 Shiva得到了两个只有加号和减号的字符串 xff0c 字串长度相同 Shiva一次可以把一个加号和它相邻的减号交换 他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串 你现在要去帮助他完成那个这个问题 输入 多组测试数据
  • Color the fence

    Color the fence 时间限制 xff1a 1000 ms 内存限制 xff1a 65535 KB 难度 xff1a 2 描述 Tom has fallen in love with Mary Now Tom wants to s
  • SDUT 1008最长公共子序列

    题目链接 https acm sdut edu cn onlinejudge2 index php Home Index problemdetail pid 1008 html 分析 题目类型 xff1a 变维DP 状态定义 对于动态规划而
  • 南阳理工OJ73

    比大小 时间限制 xff1a 3000 ms 内存限制 xff1a 65535 KB 难度 xff1a 2 描述 给你两个很大的数 xff0c 你能不能判断出他们两个数的大小呢 xff1f 比如123456789123456789要大于 1
  • Unable to locate JAR/zip in file system as specified by the driver definition: mysql-connector-java-

    第一次用eclipse配置hibernate映射 xff0c 结果遇到了这种错误 怎么办 xff1f 别担心 xff0c 解决方案送上来 找到对话框里的JAR List选项 xff0c 点击clear把所有的jar包删掉再重新把jar包导入
  • Flask网页出现UnicodeDecodeError

    具体错误 xff1a UnicodeDecodeError 39 utf8 39 codec can 39 t decode byte 0xd6 in position 46 invalid continuation byte 如图 这是怎
  • 实用函数之计算某天是星期几

    功能 xff1a 给你一个日期 xff0c 计算出这一天是星期几 适用范围 xff1a 只对1600年以后的日期有效 实现语言 xff1a C C 43 43 acm相关题目 xff1a An problem about date 相关资料
  • 差分标记讲解

    引论 维护区间信息的数据结构有很多 xff0c 像线段树 树状数组等 xff1b 然而线段树之类的数据结构往往要写上一段板子 xff08 尽管不是太长 xff09 xff0c 但在算法竞赛中却很有可能导致我们与别人慢上那么几分钟 xff0c
  • 使用Flask渲染静态网页(模板)

    假设我们有了一个已经写好的网页 xff0c 我们希望把这个网页展示出来 xff0c 我们需要怎么做呢 xff1f 在Flask中我们把这一工作叫做渲染模板 xff0c 其中我们准备好的网页叫做模板 xff0c 渲染工作交给一个叫做jinja
  • Linux常用指令(初级)

    1 ls 显示当前目录下的所有文件和文件名 2 mkdir xxx xff1a 创建一个名为xxx的目录 3 touch xxx txt xff1a 创建一个名为xxx txt的文件 4 rm xxx txt xff1a 删除名为xxx t
  • 最受欢迎的菜品

    7 2 最受欢迎的菜品 20分 某自助餐厅要求餐厅的客人在就餐后进行投票 xff0c 选出一款最喜爱的菜品 xff0c 每日营业结束后进行投票统计 xff0c 选出投票数最多的菜品为最受欢迎的菜品 请编写一个程序帮助餐厅快速完成这个统计工作
  • DOS查看端口占用情况并杀死占用某个端口的进程

    输入指令 netstat ano即可查看端口占用情况 找到自己想杀死的进程 xff0c 输入指令 xff1a taskkill PID 进程ID即可杀死进程 如果显示无法杀死 xff0c 可以强杀 xff0c 即输入指令 xff1a tas

随机推荐

  • Error:(37, 13) Failed to resolve: com.android.support:appcompat-v7:26 <a href="install.m2.repo">Inst

    报错信息 xff1a Error 37 13 Failed to resolve com android support appcompat v7 26 lt a href 61 34 install m2 repo 34 gt Insta
  • ACM中使用唯一分解定理

    一 求出整数n的素数因子 二 求出各素数因子的指数 三 利用这两组数据求解
  • 进程与程序的区别

    1 进程是动态的 xff0c 程序是静态的 2 进程有生命周期 xff0c 程序没有生命周期 3 一个进程只能对应一个程序 xff0c 一个程序却可以对应多个进程 没有建立进程的程序不能作为一个独立的单位获得操作系统的认可
  • 轻松上手vim

    vim是一款相当不错的文本编译器 xff0c 让我来介绍一下vim的基本使用方法 首先新建一个文件 xff0c 例如main cpp 命令为touch main cpp 然后使用vim打开 xff0c 命令为vim main cpp xff
  • AtCoder Regular Contest 085 C题题解

    通过给出的样例找出规律如下 xff1a 设循环的次数为k xff0c 则 k 61 2 m 设每次循环的花费为c xff0c 则 c 61 xff08 n m xff09 100 43 m 1900 故总的运行时间 x 61 k c 代码如
  • Split Linked List in Parts(LeetCode725)

    参加LeetCode weekly contest 58时的一道价值5分的题 xff0c 是关于数据结构的 要求将一个链表均分为k份 xff0c 如果不能均分 xff08 例如链表有6个节点而k 61 5 xff09 xff0c 则各个部分
  • Find Pivot Index(LeetCode 724)

    本想用贪心结果WA xff0c 看来只能老老实实的用枚举了 xff0c 简单粗暴实用 枚举中心轴 xff0c 从0开始 xff0c 定义两个变量left 和 right分别代表轴左边的数据之和以及轴右边的数据之和 xff0c 判断left是
  • B - fLIP

    题目链接 xff1a http code festival 2017 quala contest atcoder jp tasks code festival 2017 quala b 解题思路 xff1a 一个棋盘有N行 xff0c M列
  • 无根树转有根数

    include lt stdio h gt include lt vector gt include lt queue gt using namespace std const int maxn 61 1000 43 10 vector l
  • 【VC ++ 2010】 C语言 计算机二级编译器 Visual C ++ 2010 Express(中文学习版)的安装与使用

    文章目录 1 安装包地址2 安装2 1 安装VC 43 43 20102 2 打开VC 43 43 20102 3 注册 3 使用3 1 新建项目3 2 打开项目3 3 编写C文件并运行 1 安装包地址 链接 xff1a https pan
  • 怎样解题表

    怎样解题表是由美国数学家G 波利特提出的 具体的介绍见 xff1a https baike baidu com item E6 80 8E E6 A0 B7 E8 A7 A3 E9 A2 98 551528 fr 61 aladdin 怎样
  • C++中的::运算符

    原文出处 xff1a http blog csdn net libing zeng article details 54412935 一两行以上的成员函数最好被定义在类体之外 这要求一个特殊的声明语化来标识一 个函数是一个类的成员 xff1
  • C++创建类并应用

    新建一个Point h文件 在该文件中定义Point类 xff0c 代码如下 ifndef POINT H define POINT H class Point public Point void setPoint int x int y
  • UVA808(对蜂窝建立坐标系)

    这个题我是通过建立坐标系加找规律做出来的 xff0c 个人感觉难点是建立坐标系 xff0c 所以我将着重讲一下坐标系是怎么建立的 建立坐标系 xff1a 如果你有兴趣的话 xff0c 你可以将他给的图沿横线延长 xff0c 这样一个正六边形
  • Cats and Fish2017北京赛区网络同步赛

    题目链接 xff1a http hihocoder com problemset problem 1631 首先根据吃鱼的速度从小到大排序 xff0c 然后从1到x按着时间轴枚举猫的行为 xff0c 如果是吃完一条判断一下他的状态是正在吃鱼
  • leetcode729. My Calendar I

    设一个字典记录所有被预定的页面 xff0c 然后就是判断区间相交了 当发生以下两种情况之一时认为区间相交 1 起点小于左端点且终点大于左端点 2 起点大于等于左端点且起点小于右端点 代码如下 span class hljs class sp
  • 搭建java web开发环境(eclipse)

    引论 工欲善其事 xff0c 必先利其器 xff1b 想要进行web开发就必须有一款顺手的武器 xff0c eclipse作为一款知名的IDE自然是一个不错的选择 准备 eclipse依赖于JDK xff0c 所以我们在安装eclipse之
  • 安装codeblocks(win10)

    下载 进入http www codeblocks org downloads 26 xff0c 选择与你电脑对应的codeblocks版本 xff0c 这里以win10为例 xff0c 下载windows平台的codeblocks 注意要选
  • B - Palindrome-phobia(CODE FESTIVAL 2017 Final)

    题目链接 https cf17 final open contest atcoder jp tasks cf17 final b 解题思路 通过找规律发现出现的次数最多的字符与其他两个字符数量的差不能大于1 AC代码 include lt
  • poj1061青蛙的约会

    题目链接 http poj org problem id 61 1061 题目类型 扩展欧几里得算法 解题思路 设青蛙A为速度快的那只 xff0c 则有 m n t k l 61 y x 令a 61 m n b 61 l c 61 y c则