又在搬砖,本来以为这是一个追及问题,后来发现数据好像并不是那么个意思,后来把方程列出来,经过一个去模的操作,我们其实可以找到一点线索,那就是,一个经过变形的二元一次方程,那么在这种情况下,就可以利用扩展欧几里德算法把解给人解出来,这道题目样例给的很含蓄,但其实是一个多实例,而且不用long long就WA,而且最后递归干出来的解还需要动一点手脚才是最终的答案

题目链接1061 -- 青蛙的约会

下面是AC代码

#include<cstdio>
#include<algorithm>
using namespace std;
long long gcd(long long a, long long b, long long &x, long long &y);
int main(void)
{
    long long x1, y1, n, m, l, x, y, r, b;
    while(scanf("%lld %lld %lld %lld %lld", &x1, &y1, &m, &n, &l) != EOF)
    {
        b = gcd((n-m), l, x, y);
        r = l / b;
        if((x1-y1) % b != 0)
        {
            printf("Impossible\n");
        }
        else
        {
            printf("%lld\n", ((x1 - y1) / b * x % r + r) % r);
        }
    }
    return 0;

long long gcd(long long a, long long b, long long &x, long long &y)
{
    long long d = a;
    if(b == 0)
    {
        x = 1;
        y = 0;
    }
    else
    {
        d = gcd(b, a%b, y, x);
        y = y - (a/b)*x;
    }
    return d;
}

集训笔记---扩展欧几里德算法(POJ NO.1061 青蛙的约会 有点烦人小跳蛙gcd)相关推荐

  1. 数论:扩展欧几里德(洛谷P1516 青蛙的约会)

    欧几里德 基本思想:gcd(q,r)=gcd(r,q%r); 证明,设q.r的最大公因数为a,则q=xa,r=ya,xy互质 不妨设x>y(显然如果小于会在一次gcd运算后交换) 则q%r=(x ...

  2. 青蛙的约会(POJ 1061 扩展欧几里德算法)

    POJ 1061 青蛙的约会 扩展欧几里德算法简单介绍及应用 题目大意: 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳, ...

  3. poj 2115 C Looooops(扩展欧几里德算法)

    题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循环几次才会结束. 比如:当k=4时,存储的数 i 在0-15之间循环.(本题默认为无符号) 若在有限次内结束,则输出 ...

  4. 欧几里德与扩展欧几里德算法——密码学笔记(五)

    一.欧几里德算法 又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a% ...

  5. 欧几里德算法 扩展欧几里德算法

    欧几里德算法 欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数. 计算公式:gcd(a,b) = gcd(b,a mod b). 算法实现: public static int g ...

  6. 扩展欧几里德算法详解

    转自:http://blog.csdn.net/zhjchengfeng5/article/details/7786595 扩展欧几里德算法 谁是欧几里德?自己百度去 先介绍什么叫做欧几里德算法 有两 ...

  7. 欧几里德算法与扩展欧几里德算法

    欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd( ...

  8. (扩展欧几里德算法)zzuoj 10402: C.机器人

    10402: C.机器人 Description Dr. Kong 设计的机器人卡尔非常活泼,既能原地蹦,又能跳远.由于受软硬件设计所限,机器人卡尔只能定点跳远.若机器人站在(X,Y)位置,它可以原地 ...

  9. Bailian2793 孙子问题【扩展欧几里德算法+中国剩余定理】

    2793:孙子问题 总时间限制: 15000ms 内存限制: 65536kB 描述 我国古代<孙子算经>中,记有如下算题:"今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩 ...

最新文章

  1. 真「祖传代码」!你的 GitHub 代码已打包运往北极,传给 1000 年后人类
  2. 巧妙设置Android来方便管理Linux和Windows
  3. ES6的export与Nodejs的module.exports比较
  4. Python有了concurrent的话mutiprocessing和threading还有存在的意义吗?
  5. 智能家居——IoT零基础入门篇
  6. c++游戏代码大全_还在学少儿编程?不如来玩工厂编程师,免费学编程逻辑的小游戏...
  7. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)
  8. 时间序列的分析和预测ARIMA
  9. 自己做量化交易软件(42)小白量化实战15--自编股票软件公式历史与聚宽量化平台仿大智慧指标回测设计
  10. Arduino蜂鸣器唱曲天空之城
  11. 一片文章彻底搞懂各种DDos攻击方式
  12. CSDN独家全网首发专栏 | 《目标检测YOLO改进指南》改进涨点推荐!
  13. Swift 进阶 | 看得见的算法
  14. 短链接服务架构设计概览
  15. ie登录显示登录到ftp服务器,ie浏览器登陆ftp服务器
  16. android lightroom,Lightroom
  17. 软件系统的服务器环境,服务器软件环境操作系统
  18. 思科瘦AP开启telnet/ssh通过WLC命令方式
  19. 基于 Iceberg 的湖仓一体架构在 B 站的实践
  20. flutter 视频选择之后并分片上传

热门文章

  1. 计算机网络多元化媒体传达,网页版式设计的特征及其视觉元素
  2. android q三星a60,三星GALAXY A60开发者选项怎么打开?
  3. 数据分析真题日刷 | 商汤科技2018校招C++/算法开发/大数据/后端/运维/测试/数据挖掘开发工程师笔试第二场
  4. 彩虹表破解Hash算法
  5. 服装设计要学计算机吗,学服装设计用什么电脑_服装设计师要做什么
  6. 广播域+冲突域的区别
  7. 十八、报销单流程开发
  8. 算法学习之路|幼儿园买玩具
  9. elasticsearch优化之多字段搜索multi_match查询
  10. 墨画子卿第四章第2节:如意随心