WisKey的眼神

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 130 Accepted Submission(s): 61
 
Problem Description
WisKey的眼镜有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
 

题目意思就是给个矩阵 , 然后判下两个点连成一条直线 , 中间还有没其他整数点 。

排除那些 X轴,Y轴 相等 的情况 然后横着坐标做差求个GCD判一下是否等于1就行了。

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std; typedef pair<int,int> Point;
#define x first
#define y second int gcd( int a , int b ){ return b== ? a : gcd( b , a % b ) ; } int main()
{
ios::sync_with_stdio();
int L ;
Point s ,e ;
while( cin >> L && L ){
cin>>s.x>>s.y>>e.x>>e.y;
if( e.x > L || e.x < -L || e.y >L || e.y <-L ){ cout<<"Out Of Range" <<endl; continue ;}
if( ( s.x == e.x && abs(s.y - e.y ) > ) || ( s.y == e.y && abs( s.x - e.x ) > ) ){ cout<< "No" <<endl ;continue ;}
if( gcd( abs( s.x - e.x ) , abs( s.y - e.y )) != ) cout<< "No" <<endl ;
else cout << "Yes" <<endl; }
}

最新文章

  1. 浅谈servlet
  2. .Net开发笔记(十七) 应用程序扩展
  3. http://www.360doc.com/content/13/0516/22/12094763_285956121.shtml
  4. JVM内存管理------杂谈(借此也论一论obj=null)
  5. codeblocks+Mingw 下配置开源c++单元测试工具 google test
  6. Swift_3.0_开启注释功能
  7. MAC 隐藏文件的显示
  8. 使用Eclipse自带Web Service插件(Axis1.4)生成Web Service服务端/客户端
  9. php 半角与全角相关的正则
  10. Bigcommerce: 给已完成购买的客户发送一封产品评论邮件,让客户直接进行产品评论
  11. angular : ng-animate : ng-show 原理,详解
  12. hibernate从数据库中自动生成
  13. 小白的Python之路 day5 configparser模块的特点和用法
  14. 关于ssh登录出现异常警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  15. Windows Internals 笔记——线程优先级
  16. Perl基础速成
  17. Centos7 修改系统时区timezone
  18. Linux及MacOSX中使用zsh
  19. Linux 安装 yum
  20. Mybatis三剑客之mybatis-generator配置

热门文章

  1. BUUCTF--xor
  2. 20180209-sys模块
  3. gcc版本切换
  4. Vue-列表渲染 非变异方法
  5. MFC程序执行过程剖析(转)
  6. poj 2505 乘法博弈论
  7. python-字符、字符串、函数处理
  8. luogu P3768 简单的数学题 杜教筛 + 欧拉反演 + 逆元
  9. flutter页面布局一
  10. php7结合mongoDB插入数据