WisKey的眼神

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2059    Accepted Submission(s): 625

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
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  1557 1230 1591 1584 1279 
 

最后知道真相的我眼泪掉下来...

简单数学几何题:

方法1: 遍历两点间的点,判断是否存在整数点。(这种搞了挺久..发现很难写对..最后看Ice_crazy的)

方法2:做一个直角三角形,两直角边的最大公约数不唯一则存在整数点。

有个小疑问,为什么5 0 0 1 0 要输出No呢,不是挡不到吗

  1. //218MS 204K 855B G++
  2. #include<stdio.h>
  3. int abs(int a)
  4. {
  5. return a<?-a:a;
  6. }
  7. int main(void)
  8. {
  9. int l,x1,x2,y1,y2;
  10. while(scanf("%d",&l)!=EOF && l)
  11. {
  12. scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
  13. if(abs(x2)>l || abs(y2)>l){
  14. puts("Out Of Range");continue;
  15. }
  16. if(x1==x2 || y1==y2){
  17. puts("No");continue;
  18. }
  19. int c1=(y2-y1)*x1;
  20. int c2=(x2-x1)*y1;
  21.  
  22. int ln=x1>x2?x2:x1;
  23. int rn=x1>x2?x1:x2;
  24. int flag=;
  25. for(int i=ln+;i<rn;i++){
  26. double y=(((y2-y1)*i-c1+c2)*1.0/(x2-x1));
  27. if((int)y==y){
  28. flag=;break;
  29. }
  30. }
  31. if(flag) puts("Yes");
  32. else puts("No");
  33. }
  34. return ;
  35. }
  36.  
  37. /*
  38. 5 0 0 1 1
  39. 5 0 0 2 0
  40. 5 0 0 6 6
  41. 5 0 0 -1 -1
  42.  
  43. 5 0 0 0 2
  44. 5 0 0 1 0
  45. 5 0 0 0 1
  46. */
  1. #include<stdio.h>
  2. int gcd(int a,int b)
  3. {
  4. if(a%b==) return b;
  5. else return gcd(b,a%b);
  6.  
  7. }
  8. int abs(int a)
  9. {
  10. return a<?-a:a;
  11. }
  12. int main(void)
  13. {
  14. int l,x1,x2,y1,y2;
  15. while(scanf("%d",&l),l)
  16. {
  17. scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
  18. if(abs(x2)>l || abs(y2)>l){
  19. puts("Out Of Range");continue;
  20. }
  21. if(x1==x2 || y1==y2){
  22. puts("No");continue;
  23. }
  24. int a=abs(x1-x2);
  25. int b=abs(y1-y2);
  26. if(a<b){
  27. int temp=a;a=b;b=temp;
  28. }
  29. if(gcd(a,b)==) puts("Yes");
  30. else puts("No");
  31. }
  32. return ;
  33. }

hdu 1577 WisKey的眼神 (数学几何)的更多相关文章

  1. HDU 1577 WisKey的眼神

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

  2. HDU 1577 WisKey的眼神 (找规律 数学)

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

  3. hdu 1115 Lifting the Stone (数学几何)

    Lifting the Stone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  4. WisKey的眼神

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

  5. hdu 6097 Mindis(数学几何,圆心的反演点)

    Mindis Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  6. 2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】

    Pokémon GO Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. HDU 5810 Balls and Boxes 数学

    Balls and Boxes 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...

  8. ACM: FZU 2110 Star - 数学几何 - 水题

     FZU 2110  Star Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u  Pr ...

  9. poj 1701【数学几何】

    The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

随机推荐

  1. JS(去掉前后空格或去掉所有空格)的用法 推荐使用jquery 方法

        说明:     如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串. 推荐 1.  去掉字符串前后所有空格: 代码如下: function Tri ...

  2. 【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了GameObject,C ...

  3. 【转载】C/C++中#ifdef和#endif的用法

    转于 http://www.cnblogs.com/renyuan/archive/2013/05/22/3092362.html 今天笔试的时候遇到这个问题,整理一下! 一般情况下,源程序中所有的行 ...

  4. mysql操作汇集

    1.修改root密码 cmd进如mysql的bin目录 >mysql -u root -p Enter password: ****** mysql> use mysql; mysql&g ...

  5. webpack-dev-server、webpack-dev-middleware、webpack-hot-middleware区别

    webpack-dev-server: 它是一个静态资源服务器,只用于开发环境: webpack-dev-server会把编译后的静态文件全部保存在内存里: webpack-dev-middlewar ...

  6. python数据分析之pandas库的DataFrame应用二

    本节介绍Series和DataFrame中的数据的基本手段 重新索引 pandas对象的一个重要方法就是reindex,作用是创建一个适应新索引的新对象 ''' Created on 2016-8-1 ...

  7. Dictionary 序列化与反序列化

    [转:http://blog.csdn.net/woaixiaozhe/article/details/7873582] 1.说明:Dictionary对象本身不支持序列化和反序列化,需要定义一个继承 ...

  8. 2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  9. System.Data.SQLite

    SQLite介绍 在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义.表.索引和数据本身 ...

  10. HTML 全局属性_02

    New : HTML5 新属性. 属性 描述 accesskey 设置访问元素的键盘快捷键. class 规定元素的类名(classname) contenteditableNew 规定是否可编辑元素 ...