/*
扩展欧几里德求模线性方程
感谢logic_space的指正
*/

#include <iostream>
#define abs(a) ((a)<0?-(a):(a))
using namespace std;

__int64 exGCD(__int64 a, __int64 b, __int64 &x, __int64 &y)
{
    if (b == 0)
    {
        x = 1;
        y = 0;
        return a;
    }
    __int64 r = exGCD(b, a%b, x, y);
    __int64 t = x;
    x = y;
    y = t - a / b * y;
    return r;
}

bool linear_equation(__int64 a, __int64 b, __int64 c, __int64 &x, __int64 &y)
{
    __int64 n = exGCD(a, b, x, y);
    if (c % n) return false;
    __int64 k = c / n, t = abs(b/n);
    x *= k;
    y *= k;
    x = (x % t + t) % t;
    return true;
}

int main()
{
    __int64 x, y, m, n, l;
    __int64 ans, tmp;
    
    scanf("%I64d %I64d %I64d %I64d %I64d", &x, &y, &m, &n, &l);
    if (m == n)
    {
        printf("Impossible\n");
        return 0;
    }
    if (!linear_equation(n-m, l, x-y, ans, tmp))//(n-m) * ans + l * tmp = x-y
        printf("Impossible\n");
    else
        printf("%I64d\n", ans);
    return 0;
}

转载于:https://www.cnblogs.com/lotus3x/archive/2008/07/05/1236713.html

PKU 1061 青蛙的约会相关推荐

  1. [1061]青蛙的约会

    http://acm.pku.edu.cn/JudgeOnline/problem?id=1061 青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Tota ...

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

    又在搬砖,本来以为这是一个追及问题,后来发现数据好像并不是那么个意思,后来把方程列出来,经过一个去模的操作,我们其实可以找到一点线索,那就是,一个经过变形的二元一次方程,那么在这种情况下,就可以利用扩 ...

  3. POJ 1061青蛙的约会题解

    POJ 1061青蛙的约会题解 网上似乎有不少此题的解法.我这个post和其他人的相比主要时想说下面几点. 1. 给出一个试图不死记硬背公式的思路; 2. 谈谈暴力解为什么看起来这么诱人,却无法通过; ...

  4. POJ 1061 青蛙的约会(扩展欧几里得)

                                                                   青蛙的约会 Time Limit: 1000MS   Memory Lim ...

  5. 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)

    青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问 ...

  6. poj 1061青蛙的约会

    青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问 ...

  7. POJ 1061 青蛙的约会 (扩展欧几里得)

    青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 97673   Accepted: 18409 Descripti ...

  8. 同余方程 ax≡1(mod b) POJ 1061 青蛙的约会

    题目:求 ax%b=c ax\%b=c最小正整数x解,题目中的 c c=1. 先感谢两位大犇ngncmh和笑巧. 对于一般的问题,我们通常有两种做法: 1)1) Baby Step Giant Ste ...

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

    题目链接:http://poj.org/problem?id=1061 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于 ...

最新文章

  1. curl 慢 不稳定_慢病毒包装步骤及注意事项
  2. python3安装包是说解压数据出错怎么办_无法修复“zipimport.zipimporter错误:无法解压缩数据;键入python3.6时zlib不可用获取pip.py...
  3. python自动化办公入门书籍-用Python自动办公,做职场高手 | 「讲文兄博客」
  4. redis的持久化(RDBAOF的区别)
  5. mac 安装appium
  6. PHP视频教程下载(PHP100系列视频教程)
  7. 13G311-1 混凝土结构加固构造 免费下载
  8. 笔记本电脑系统怎么重装,笔记本重装系统
  9. tomcat日志配置(停止日志或修改日志路径)
  10. html自动写对联,html中的对联代码
  11. 传智教育|如何转行互联网高薪岗位之一的软件测试?(附软件测试学习路线图)
  12. 帆软报表参数传给网络报表_报表开发工具FineReport的使用: 程序网络报表
  13. torch.nn到底是什么?(精简版)
  14. 计算机 审计追踪功能,第 讲 审计追踪技术与Windows安全审计功能
  15. 阿里云telnet 3306端口失败
  16. iOS开发之集成支付宝
  17. 《算法笔记》第4章常用技巧及排序算法
  18. JavaScript jq 三位分节法 input输入数字时每3位使用逗号隔开
  19. 七、Redis集群搭建
  20. VBS 入门交互实战

热门文章

  1. c++多态--2(计算器,纯虚函数和抽象类)
  2. 小白创建网站的曲折之路
  3. 【面试必备】java写spark好不好
  4. java注解编程_Java注解编程原理
  5. Docker制作dotnet core控制台程序镜像
  6. python安装Crypto:NomodulenamedCrypto.Cipher
  7. HTTP服务器的本质:tinyhttpd源码分析及拓展
  8. 在双系统(Windows与Ubuntu)下删除Ubuntu启动项
  9. mvn编写主代码与测试代码
  10. IIS6.0的web园--最大工作进程数