题目链接

Problem DescriptionWisKey的眼镜有500多度,所以眼神不大好,而且他有个习惯,就是走路喜欢看着地(不是为了拣钱哦_),所以大家下次碰见他的时候最好主动打下招呼,呵呵.

但是Rabbit总是喜欢扮神秘,一天WisKey去食堂排队等着买饭,突然收到一道短消息,是Rabbit发的,”呵呵,又看见你了,你没看到我吧”.WisKey马上拉长脖子扫描食堂,可是就是看不到,再发短信问Rabbit在哪,Rabbit回信曰”我已经在寝室了”.WisKey无语....

假设食堂是个正方形,食堂中心坐标为(0,0),长度为2*L, WisKey保证在食堂内.

因为是吃饭高峰期,所以每个点上都站着人,当某些人处在同一直线上时就有可能被前面的人挡住.

聪明的ACMer请你帮帮WisKey,告诉他能不能看见Rabbit.

Input

输入L,sx,sy,px,py; L<=1000,sx,sy是WisKey的坐标,px,py是Rabbit的坐标.

以L=0为结束.

Output

对于每组输入数据,能看见输出”Yes”,看不见输出”No”.Rabbit不在食堂输出”Out Of Range”.

Sample Input`

5 0 0 1 1

5 0 0 2 0

5 0 0 6 6

5 0 0 -1 -1

0`

Sample Output`

Yes

No

Out Of Range

Yes`

分析:

刚开始以为只有上、下、左、右、左上、左下、右上、右下,这八个方向能够看见,然而发现自己还是太傻太天真。

首先这个点的横纵坐标必须的在[-n,n]这个范围之内,如果是在上、下、左、右这四个放下的话,则能看见的条件肯定就是一个为0,另一个为1.其余的情况的话,两个距离求最大公约数,如果再打公约数为1的话就能看见,否则看不见。

不懂得话可以用相似三角形的原理自己画一下

代码:

    #include <iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int n , sx,sy,px,py,x,y,r;
while(~scanf("%d",&n)&&n)
{
scanf("%d%d%d%d",&sx,&sy,&px,&py);
if(px>n||py>n||px<-n||py<-n)//超出范围的
printf("Out Of Range\n");
else
{
x=abs(sx-px);
y=abs(sy-py);
if(x==0||y==0&&(x+y)!=1)//相当于在其上下左右这四个方向中的一个,必须满足一个为1,一个为0
{
printf("No\n");
continue;
}
r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}
if(y==1)//x,y为求得的两个点的横纵坐标的距离,只有当两个距离的最大公约数为1时,才能够看见
printf("Yes\n");
else printf("No\n");
}
}
return 0; }

HDU 1577 WisKey的眼神 (找规律 数学)的更多相关文章

  1. hdu 1577 WisKey的眼神 (数学几何)

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. HDU 1577 WisKey的眼神

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  3. HDU 3032 multi-sg 打表找规律

    普通NIM规则加上一条可以分解为两堆,标准的Multi-SG游戏 一般Multi-SG就是根据拓扑图计算SG函数,这题打表后还能发现规律 sg(1)=1 sg(2)=2 sg(3)=mex{0,1,2 ...

  4. HDU 1391 number steps(找规律,数学)

    Starting from point (0,0) on a plane, we have written all non-negative integers 0, 1, 2,... as shown ...

  5. hdu 1030 Delta-wave(数学题+找规律)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1030 Delta-wave Time Limit: 2000/1000 MS (Java/Others ...

  6. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

  7. HDU 4910 Problem about GCD 找规律+大素数判断+分解因子

    Problem about GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. HDU 4572 Bottles Arrangement(找规律,仔细读题)

    题目 //找规律,123321123321123321…发现这样排列恰好可以错开 // 其中注意题中数据范围: M是行,N是列,3 <= N < 2×M //则猜测:m,m,m-1,m-1 ...

  9. HDU 1041 Computer Transformation(找规律加大数乘)

    主要还是找规律,然后大数相乘 #include<stdio.h> #include<string.h> #include<math.h> #include<t ...

随机推荐

  1. QMap使用

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QMap使用     本文地址:https://www.techieliang.com/201 ...

  2. jquery mobiscroll 滑动、滚动

    mobiscroll : 滑动选择 2.13.2版本免费,官网(mobiscroll.com)收费 先从官方下载2.13.2体验版下来,查看例子结合官方API学习( http://docs.mobis ...

  3. node+express搭建个人网站(2)

    node+express搭建个人网站(1)这一节中成功启动了一个网站但还很简陋,仅仅打印了一个helloworld的网页 作为个人网站,我们当然想输出自己设计好的网页, 我们借助 Express 应用 ...

  4. SPOJ4717——Grid Points in a Triangle

    题目的意思很简单.就是要你求出斜率为a/b的一个点在原点,一条边为x=n的RT三角形里面有多少个整数点? 看完题目后依然没有思路,依然去看各个神牛写的题解.后来才反应过来. 题目的正解应该是这样的.递 ...

  5. python的N个小功能(文本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)

    案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...

  6. 打印实例对象的名字 默认调用父类的toString 可重写

  7. Streaming Big Data: Storm, Spark and Samza--转载

    原文地址:http://www.javacodegeeks.com/2015/02/streaming-big-data-storm-spark-samza.html There are a numb ...

  8. 二分图匹配模板(dfs+bfs)

    dfs版: bool dfs(int u) { for(int i = head[u]; ~i; i = e[i].next) { int v = e[i].v; if(!vis[v]) { vis[ ...

  9. Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署

    一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...

  10. unity3D AR涂涂乐制作浅谈

    unity3D AR涂涂乐制作浅谈 AR为现在是虚拟现实较为火爆的一个技术,其中有个比较炫酷的就是AR涂涂乐的玩法,这个技术可以把扫描到的图片上的纹理 粘贴到模型上实现为模型上色的功能,但是我们需要怎 ...