Timus1286(欧几里德算法的应用)
题目:http://acm.timus.ru/problem.aspx?space=1&num=1286
题意:
一个任意大的棋盘,一个Knight每次的移动可以从(i,j)到(i+q, j+p), (i−q, j+p),(i+q, j−p), (i−q, j−p),
(i+p, j+q), (i−p, j+q),(i+p, j−q), (i−p, j−q) 中的任意一个。给定初始坐标(sX,sY) 问Knight是否可以移动
到(dX,dY)?(所有的整数的绝对值均<=2·10^9 )。
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
typedef long long LL;
LL gcd(LL a,LL b)
{
return b? gcd(b,a%b):a;
}
void Work(LL p,LL q,LL x1,LL y1,LL x2,LL y2)
{
LL x,y;
x = x2 - x1;
y = y2 - y1;
if(x == 0 && y == 0)
{
puts("YES");
return;
}
if(p == 0 && q == 0)
{
puts("NO");
return;
}
LL t = p*x - q*y;
LL G = gcd(2*p*q,gcd(p*p-q*q,p*p+q*q));
if(t % G == 0) puts("YES");
else puts("NO");
}
int main()
{
LL p,q,x1,y1,x2,y2;
while(cin>>p>>q>>x1>>y1>>x2>>y2)
{
Work(p,q,x1,y1,x2,y2);
}
return 0;
}
Timus1286(欧几里德算法的应用)相关推荐
- 【数论基础】欧几里德算法及其各种应用
目录: 欧几里德算法(辗转相除法) 1.问题引入:线段上格点的个数 2.输入两个正整数,求最大公约数和最小公倍数 3.P1029 最大公约数和最小公倍数问题 欧几里德算法(辗转相除法) 辗转相除法, ...
- 欧几里德算法(自写理解)
gcd欧几里德算法 求取最大公约数gcd(a,b) 这个不用多说了 extgcd拓展欧几里德算法 用于求解 ax+by=gcd(a,b)的解 这个要多说一下 ax+by=c,(a,b,c都是常数) ...
- poj 2115 C Looooops(扩展欧几里德算法)
题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循环几次才会结束. 比如:当k=4时,存储的数 i 在0-15之间循环.(本题默认为无符号) 若在有限次内结束,则输出 ...
- 欧几里德与扩展欧几里德算法——密码学笔记(五)
一.欧几里德算法 又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a% ...
- 欧几里德算法与扩展欧几里德算法
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd( ...
- poj 1061 (扩展欧几里德算法)
首先先抛出一个例题: 青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 89761 Acc ...
- 无聊博文之:用同余的语言阐述欧几里德算法
下面用同余的语言来阐述欧几里德算法.对于整数$a$和正整数$b$,我们知道 \begin{equation} \label{eq:11.16} a=q_1b+r_1(q_1\geq 0,0\leq r ...
- ACM数论之旅4---扩展欧几里德算法(欧几里德(・∀・)?是谁?)
为什么老是碰上 扩展欧几里德算法 ( •̀∀•́ )最讨厌数论了 看来是时候学一学了 度娘百科说: 首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相 ...
- 如何利用扩展欧几里得算法求解不定方程_欧几里德算法、拓展欧几里德、中国剩余定理...
01.欧几里德算法(Euclidean algorithm)(辗转相除法) 欧几里德算法又称辗转相除法,主要是用于计算两个整数a,b的最大公约数. 简单点说一下算法原理:两个整数的最大公约数等于其中小 ...
最新文章
- Docker学习笔记【一】
- 控制寄存器,CPU缓存,PWT,PCD
- Java爬虫技术(一)普通网站爬取图片
- 数学建模美赛2019 人生经验
- 幸福家庭杂志幸福家庭杂志社幸福家庭教育部2022年第1期目录
- 小程序引入阿里矢量图
- Chrome 浏览器常用设置及问题(vimium)
- Egret 学习笔记
- SQL Server 的几个故障
- windows mobile注册表修改小全
- Python基础语法(一)——变量定义和运算符的使用
- 中文语音克隆|MockingBird(拟声鸟)github项目运行流程(一次跑通)
- 我为什么要学习JAVA?
- MySQL之——常用函数汇总
- matlab thd 论坛,matlab如何仿真thd
- 游戏设计 MMORPG类九宫格视野
- 基于django的微信小程序搭建
- 杰理AC690X系列---入门(1)
- PMP项目管理证书是什么?有什么用?
- 对智能制造知识整理和ERP,PLM,MES核心系统集成分析
热门文章
- 后置通知(After Advice)
- AnnotationConfigUtils 处理注解Bean 定义类中的通用注解
- 服务的通信和服务发现
- Redis在生产中不得不重视的几个运维问题
- SpringBoot_web开发-thymeleaf语法
- oracle字段重复新增错误,Oracle 判断表或字段是否存在新增/修改表结构可重复执行sql...
- ad软件侵权律师函_Aspen Plus 9 软件安装教程
- 如何将一个文件分割成多个小文件
- 技巧:在Silverlight 2应用程序中切换用户控件
- 0619-dedeCMS的安装、重装、目录说明、基本操作及注意事项