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
AC代码:
#include<cstdio>
#include<iostream> using namespace std; inline void exgcd(long long a, long long b, long long &g, long long &x, long long &y){
if(!b) { g = a; x = ; y = ;}
else { exgcd(b, a % b, g, y, x); y -= x * (a / b);}
} int main(){
long long xx, yy, l, m, n, a, b, c, g, x, y;
scanf("%lld%lld%lld%lld%lld", &xx, &yy, &m, &n, &l);
a = n - m; b = l; c = xx - yy;
exgcd(a, b, g, x, y);//(n-m) * x + l * y = xx - yy
if(c % g) printf("Impossible\n");
else{
c /= g; b /= g;
printf("%lld\n", (x % b * c % b + b) % b);//处理非负
}
return ;
}
AC代码
POJ 1061 青蛙的约会(exgcd)的更多相关文章
- POJ 1061 - 青蛙的约会 - [exgcd求解一元线性同余方程]
先上干货: 定理1: 如果d = gcd(a,b),则必能找到正的或负的整数k和l,使ax + by = d. (参考exgcd:http://www.cnblogs.com/dilthey/p/68 ...
- poj 1061 青蛙的约会 拓展欧几里得模板
// poj 1061 青蛙的约会 拓展欧几里得模板 // 注意进行exgcd时,保证a,b是正数,最后的答案如果是负数,要加上一个膜 #include <cstdio> #include ...
- ACM: POJ 1061 青蛙的约会 -数论专题-扩展欧几里德
POJ 1061 青蛙的约会 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %llu Descr ...
- POJ.1061 青蛙的约会 (拓展欧几里得)
POJ.1061 青蛙的约会 (拓展欧几里得) 题意分析 我们设两只小青蛙每只都跳了X次,由于他们相遇,可以得出他们同余,则有: 代码总览 #include <iostream> #inc ...
- poj 1061 青蛙的约会 (扩展欧几里得模板)
青蛙的约会 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status ...
- poj 1061青蛙的约会
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 90083 Accepted: 16257 Descripti ...
- POJ 1061 青蛙的约会(扩展GCD求模线性方程)
题目地址:POJ 1061 扩展GCD好难懂.. 看了半天.最终把证明什么的都看明确了. .推荐一篇博客吧(戳这里),讲的真心不错.. 直接上代码: #include <iostream> ...
- POJ——1061 青蛙的约会
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 117858 Accepted: 24599 Descript ...
- POJ 1061 青蛙的约会 题解
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 139755 Accepted: 31803 Descript ...
- 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)
青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问 ...
随机推荐
- C语言结构体数组遇上typedef
昨天韩同学在做数据结构题的时候,问了我一个关于typedef 与结构体数组的问题: typedef struct vexnode { int vertex; arcnode* firstarc; }a ...
- 使用Unity3d和C#的一些属性来设置特殊行为
使用 Unity 的C#语言 ,利用属性(Attribute)来类定义和变量定义或区分其他的变量,您可以设置一种特殊行为 例如,您添加[SerializeField]属性变量,私有变量标识序列化. [ ...
- python之路之线程,进程,协程2
一.线程 1.创建线程 2.主线程是否等待子线程 t.setDaemon(Ture/False):默认是false,等待子线程完成,ture,表示不等待子线程结束 3.主线程等待,子线程执行 join ...
- C# MVC扩展方法
控制方法 : 在不修改类原来代码的情况下,给类扩展方法 https://www.cnblogs.com/jxsimon/articles/5043654.html https://www.cnblog ...
- 2020 CCPC比赛
https://ac.nowcoder.com/acm/contest/4010/A 这道题枚举区间长度的贡献值: 当区间长度为1时,就是所有元音数的个数: 当区间长度为2时,区间[2,n-1]的数贡 ...
- time时间模块_python
一.常用指定格式打印时间 strftime()函数: import timeprint(time.strftime('%Y-%M-%d %H:%M:%S %A' )) #格式可任意定制,2019-14 ...
- python 序列 倒着取元素
当要倒着取元素时,用s[-2]只能取一个, 如果取多个时用s[-9:-1],注意,最后一个-1是不取出来的. 此时要用s[-9:] 最后一个空着就可以取出来了.
- js中yyyymmdd hh:mm:ss字符转换为Date
var dateString="20190102 10:30:35"; var pattern = /(\d{4})(\d{2})(\d{2})/; var formatedDat ...
- Python - CentOS 下用 yum 安装 pip
1. 概述 python 安装完成 发现后续需要一个 python 自己的 包管理工具 书上说默认会装, 然后我发现还是没有 命令执行的结果我就不给了, 这个判断起来, 应该是没有太大难度的 2. 环 ...
- PHPStorm设置Ctrl+滚轮调整字体大小
1.点击左上角的File,再点击setting: 2.Editor->General,选择Change font size (Zoom) with Ctrl+Mouse Wheel: 3.点击O ...