Problem C. 狙击敌人

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 256    Accepted Submission(s): 76
Problem Description
小明有一次运气贼好,跳在一个小野区,突然掉了一个空投,直接砸在他的脸上,可把他乐坏了。走近一打开补给包,AWM+3级头+8倍镜+20发.300马格南,令人窒息!
小明拿着AWM,立即往山上跑,想用这把传说中的枪,爆敌人的头。不一会,小明看到一个挂机仔,躲在一块石头后面。我们将小明的枪口和挂机仔的头看成二维平面上的两个点(x1,y1),(x2,y2),小明瞄准后开了一枪,子弹按照(dx,dy)的方向运动(即每毫秒子弹的x坐标+dx,y坐标+dy),如果子弹的运动轨迹能经过(x2,y2),那么子弹就能打中敌人的头,我们来预测一下小明能否用这把AWM一枪爆掉敌人的头,如果能,输出”YES”,否则输出”NO”。
Input
多组测试数据,首先第一行一个整数T(1≤T≤20),代表测试数据组数。
每组测试数据有 6 个整数 x1,y1,x2,y2,dx,dy,小明的枪口坐标为 (x1,y1), 敌人的坐标为(x2,y2),子弹的运动方向为 (dx,dy),保证枪口坐标和敌人的坐标不同,1 ≤ x1,y1,x2,y2 ≤ 1000,−1000≤dx,dy≤1000。
Output
如果小明能用这把AWM一枪爆掉敌人的头,输出”YES”,否则输出”NO”。
Sample Input
2
1 1 2 2 2 2
1 1 3 1 0 1
Sample Output
YES
NO

解题思路:
1、注意 double “==” 写法。
2、缩放法。

AC 代码

#include<bits/stdc++.h>
#include<cmath>#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;int main()
{int T; scanf("%d",&T);double x1,y1,x2,y2,dx,dy,tx1,ty1;while(T--){cin>>x1>>y1>>x2>>y2>>dx>>dy;dx/=1000; dy/=1000;
//        printf("dx,dy == %f %f\n",dx,dy);int flag=0;for(int i=0;i<1000100;i++){tx1=x1+i*dx, ty1=y1+i*dy;if(fabs(tx1-x2)<1e-5&&fabs(ty1-y2)<1e-5){flag=1; break;}}puts(flag?"YES":"NO");}return 0;
}/* 测试数据30
1 1 1000 1000 1 1
2 2 1 1 -2 -2
1 1 3 1 0 1
1 1 1000 1000 1 1
1 1 1000 1000 1000 1000*/

HDU - 2018杭电ACM集训队单人排位赛 - 1 - Problem C. 狙击敌人相关推荐

  1. 2018杭电ACM集训队单人排位赛 - 1Problem A. 内蒙创业

    Problem A. 内蒙创业 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) ...

  2. 2017杭电ACM集训队单人排位赛 - 1(ALL题解)

    A. 看日出 看日出 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  3. 2017杭电ACM集训队单人排位赛 - 2 饶学妹的比赛

    饶学妹的比赛 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  4. 2017杭电ACM集训队单人排位赛 - 2 -1002 地狱飞龙 (辛普森公式求积分)(模板)

    题干: 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心.假设地域飞龙会对距离为d的敌人每秒造成k/d2k/d^2伤害.假设地域飞龙位于坐标轴原点,以每秒v1的速度向y轴正方向移动,敌人在 ...

  5. 杭电acm第2304题答案c语言,【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 ...

  6. HDU 献给杭电五十周年校庆的礼物

    献给杭电五十周年校庆的礼物 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  7. HDU献给杭电五十周年校庆的礼物 (切蛋糕,线段划分区域)

    献给杭电五十周年校庆的礼物 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  8. 杭电ACM题目类型整理

    版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...

  9. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

最新文章

  1. 工业互联网平台创新发展白皮书(2018)
  2. kali学习日记第二篇 -- Nessus
  3. 第二章 物理层 1 物理层的基本概念 [计算机网络笔记]
  4. 2017.9.20 回文串 思考记录
  5. python︱mysql数据库连接——pyodbc
  6. Matlab自适应均线_基于MATLAB的自回归移动平均模型(ARMA)在股票预测中的应用
  7. 中间件 东方通TongWeb运维|精选整理版本
  8. Android关机充电编译,Android6.0+关机状态下实现充电自动开机
  9. sumo学习——sumo的路网介绍
  10. 树莓派4B连接显示器 黑屏、左上角有光标问题
  11. dw设置html背景,Dreamweaver默认浏览器怎么设置
  12. 用pyqt原生功能实现自由屏幕截图
  13. 计算机专业纸质笔记本,无可替代?信息时代你还用纸质笔记本吗
  14. 关于小米安装app的问题
  15. 前端 Switch 开关功能
  16. ARIMA模型来预测股票数据
  17. 魔方机器人matlab编程,C++实现超赞的解魔方的机器人代码
  18. 全国计算机二级今年更难吗,全国计算机二级好过吗
  19. HTML基础知识(1)
  20. LPDDR5原理简介

热门文章

  1. 江苏省泰州中学2021年高考成绩查询,江苏泰州:2021年全国高考开考
  2. 特洛伊战争真正的罪魁祸首-我鄙视奥林斯山诸神无聊的战争
  3. fullpage.js 滑入滑出滚屏动画, 纯css方式。利用css权重,无需js操作dom
  4. 收到从svn上荡下来有冲突的项目的处理方法
  5. mcp918使用教程(MineCraft 1.8.8反编译)
  6. linux 开机自启动 oracle
  7. 简单实用的图片制作工具——打造个性化设计!
  8. 支付宝生活号获取uid踩坑实践
  9. M302A-CW/BYT-通刷S905L3(B)-当贝纯净桌面卡刷固件包
  10. java抽象类的特点