hdu 1577 WisKey的眼神 (数学几何)
WisKey的眼神
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2059 Accepted Submission(s): 625
但是Rabbit总是喜欢扮神秘,一天WisKey去食堂排队等着买饭,突然收到一道短消息,是Rabbit发的,”呵呵,又看见你了,你没看到我吧”.WisKey马上拉长脖子扫描食堂,可是就是看不到,再发短信问Rabbit在哪,Rabbit回信曰”我已经在寝室了”.WisKey无语....
假设食堂是个正方形,食堂中心坐标为(0,0),长度为2*L, WisKey保证在食堂内.
因为是吃饭高峰期,所以每个点上都站着人,当某些人处在同一直线上时就有可能被前面的人挡住.
聪明的ACMer请你帮帮WisKey,告诉他能不能看见Rabbit.

以L=0为结束.
Rabbit不在食堂输出”Out Of Range”.
最后知道真相的我眼泪掉下来...
简单数学几何题:
方法1: 遍历两点间的点,判断是否存在整数点。(这种搞了挺久..发现很难写对..最后看Ice_crazy的)
方法2:做一个直角三角形,两直角边的最大公约数不唯一则存在整数点。
有个小疑问,为什么5 0 0 1 0 要输出No呢,不是挡不到吗
//218MS 204K 855B G++
#include<stdio.h>
int abs(int a)
{
return a<?-a:a;
}
int main(void)
{
int l,x1,x2,y1,y2;
while(scanf("%d",&l)!=EOF && l)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if(abs(x2)>l || abs(y2)>l){
puts("Out Of Range");continue;
}
if(x1==x2 || y1==y2){
puts("No");continue;
}
int c1=(y2-y1)*x1;
int c2=(x2-x1)*y1; int ln=x1>x2?x2:x1;
int rn=x1>x2?x1:x2;
int flag=;
for(int i=ln+;i<rn;i++){
double y=(((y2-y1)*i-c1+c2)*1.0/(x2-x1));
if((int)y==y){
flag=;break;
}
}
if(flag) puts("Yes");
else puts("No");
}
return ;
} /*
5 0 0 1 1
5 0 0 2 0
5 0 0 6 6
5 0 0 -1 -1 5 0 0 0 2
5 0 0 1 0
5 0 0 0 1
*/
#include<stdio.h>
int gcd(int a,int b)
{
if(a%b==) return b;
else return gcd(b,a%b); }
int abs(int a)
{
return a<?-a:a;
}
int main(void)
{
int l,x1,x2,y1,y2;
while(scanf("%d",&l),l)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if(abs(x2)>l || abs(y2)>l){
puts("Out Of Range");continue;
}
if(x1==x2 || y1==y2){
puts("No");continue;
}
int a=abs(x1-x2);
int b=abs(y1-y2);
if(a<b){
int temp=a;a=b;b=temp;
}
if(gcd(a,b)==) puts("Yes");
else puts("No");
}
return ;
}
hdu 1577 WisKey的眼神 (数学几何)的更多相关文章
- HDU 1577 WisKey的眼神
WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 1577 WisKey的眼神 (找规律 数学)
题目链接 Problem DescriptionWisKey的眼镜有500多度,所以眼神不大好,而且他有个习惯,就是走路喜欢看着地(不是为了拣钱哦^_^),所以大家下次碰见他的时候最好主动打下招呼,呵 ...
- hdu 1115 Lifting the Stone (数学几何)
Lifting the Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- WisKey的眼神
WisKey的眼神 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- hdu 6097 Mindis(数学几何,圆心的反演点)
Mindis Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- 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 ...
- HDU 5810 Balls and Boxes 数学
Balls and Boxes 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...
- ACM: FZU 2110 Star - 数学几何 - 水题
FZU 2110 Star Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Pr ...
- poj 1701【数学几何】
The area Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
随机推荐
- 安卓中自定义并使用Volley框架请求网络
大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架 ...
- 如何解决虚拟机克隆导致"Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'."
在VMware的虚拟机中克隆CentOS,在重启网卡的时候报错: Bringing up interface eth0: Error: No suitable device found: no de ...
- [轉]Android Libraries 介紹 - Butter knife
原文地址 Butter Knife 簡介 Butter Knife - Field and method binding for Android views.助你簡化程式碼,方便閱讀. 使用方法 開發 ...
- SQL总结(七)查询实战
SQL总结(七)查询实战 一.场景 给定一个场景,学生选课系统为例,大家很熟悉. 主要关系: 学生(学号.姓名.年龄.性别) 教师(教师ID,教师姓名) 课程(课程ID,课程名称,任教教师ID) 成绩 ...
- [zz]计算 协方差矩阵
http://www.cnblogs.com/chaosimple/p/3182157.html http://blog.csdn.net/goodshot/article/details/86111 ...
- sql rollup解决责任人收支余额
问题的提出是周聪之前问过我的项目往来查询,不好在NC上一次性查询到.然后我就搞了一个很长的项目对账,发布了NC的节点. 现在我做了总二的总账,每次领导问我项目还有多少钱,收了多少付了多少,我还要通过科 ...
- ORACLE创建表之前判断表是否存在与SQL Server 对比使用
在SQL Server 数据库中,我们在创建表之前删除表,有if exit()这样的语句,但是在oracle中却没有.如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行.因此 ...
- threadid=1: thread exiting with uncaught.exception ......解决方法
threadid=1: thread exiting with uncaught exception (group=0x40015560)E/AndroidRuntime(285): FATAL E ...
- 子类实例化和Super
在子类的构造函数当中,必须调用父类的构造函数,通过super的参数个数和类型来决定调用父类哪一个构造函数. class Student extends Person{ Student(){ super ...
- sharedPreference
http://blog.csdn.net/yong199105140/article/details/8425247 SharedPreferences 分类: Android2012-12-24 1 ...