【题目链接】:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2127

【题意】

【题解】

把气球和飞艇所代表的直线投影到xoy面上
设气球所在位置为A(x3,y3)
飞艇所在的直线段的两个端点B(x2,y2),C(x1,y1);
设经过B且垂直BC的直线为l1,经过C且垂直BC的直线为l2;
则如果A在l1和l2所围的范围内;
则最短距离为点到直线的距离(只不过变成3维的了);
如果不在
则最短距离为
A到B和A到C之间的距离的较小者.
点到直线的距离可以根据直角边列个方程算出来
(相当于在一个三角形里面求一条边上的高);

【Number Of WA】

0

【完整代码】

#include <bits/stdc++.h>
using namespace std;
#define rep1(i,x,y) for (int i = x;i <= y;i++)
#define LL long longLL h,xx1,yy1,xx2,yy2,xx,yy,zz,XX,YY,ZZ;LL sqr(LL x) {return x*x;}double dis(LL x1,LL y1,LL z1,LL x2,LL y2,LL z2)
{return sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1-z2));
}bool in(LL x1,LL y1,LL x2,LL y2,LL x3,LL y3)
{return (x3-x1)*(x2-x1)+(y3-y1)*(y2-y1)>0 && (x1-x2)*(x3-x2)+(y1-y2)*(y3-y2)>0;
}int main()
{//freopen("D:\\rush.txt","r",stdin);int T;cin >> T;while (T--){cin >> h >> xx1 >> yy1 >> xx2 >> yy2;cin >> xx >> yy >> zz >> XX >> YY >> ZZ;int n;cin >> n;rep1(i,1,n){LL t;cin >> t;LL xx3,yy3,zz3;xx3 = xx+XX*t,yy3 = yy+YY*t,zz3 = zz+ZZ*t;if (xx1==xx2 && yy1==yy2){cout << fixed << setprecision(2) << dis(xx1,yy1,h,xx3,yy3,zz3)<<endl;continue;}double a = dis(xx1,yy1,h,xx3,yy3,zz3),b = dis(xx2,yy2,h,xx3,yy3,zz3);double c = dis(xx1,yy1,h,xx2,yy2,h);if (in(xx1,yy1,xx2,yy2,xx3,yy3)){double dd = (a*a+c*c-b*b)/(2.0*c);double ans= sqrt(a*a-dd*dd);cout << fixed << setprecision(2) << ans <<endl;}else{cout << fixed << setprecision(2) << min(a,b) <<endl;}}}return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/7626420.html

【郑轻邀请赛 A】tmk射气球相关推荐

  1. 【zzulioj 2127】 tmk射气球

    比较简单的题,直接求空间中一个点到直线的距离而已,这道题说了直线和水平的平面 平行,我们可以先求投影到直线的距离,然后再算当前点到直线的距离. Description 有一天TMK在做一个飞艇环游世界 ...

  2. zzuli 2127 tmk射气球

    经典点到线段最短距离的问题,用向量法写的 题目链接:zzuli-2127 #include<iostream> #include<cmath> using namespace ...

  3. 【郑轻邀请赛 G】密室逃脱

    [题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133 [题意] [题解] 考虑每一个二进制数的最高位->第i位; 肯定是1(这 ...

  4. 郑轻校赛 2127 tmk射气球 (数学)

    Description 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去射气球,为了提高射击的准确性,他首先在飞艇上找到一个离气球最近的 ...

  5. 郑轻校园网工具1.0正式版本首发

    2019独角兽企业重金招聘Python工程师标准>>> 郑轻校园网工具beta1.0版本首发,郑州轻工业学院专用,破解客户端,发射wifi,网络连接检测,傻瓜化一体工具. 下载地址h ...

  6. 郑轻第六届校赛 -- 部分题解

    1427: 数字转换 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 379  Solved: 93 SubmitStatusWeb Board Des ...

  7. 【郑轻】[1754]Chowhound!Chowhound!!Chowhound!!!

    很简单的一种比较~ #include<stdio.h> int main() {long int x;double a,b;scanf("%ld",&x);a= ...

  8. 【郑轻】[1391]李白饮酒

    倒推 刚开始想错了 应该是一次作诗喝了两次酒~ #include<stdio.h> int main() {int T,n,k;int i;scanf("%d",&am ...

  9. 【郑轻】[1837]LT说我不服

    1837: LT说我不服 Time Limit: 1 Sec   Memory Limit: 128 MB Description 对于上一道题目LT不服,表示那么简单的题目不屑于去做,所以我们决定加 ...

最新文章

  1. 软件开发行业,年轻与大龄程序员的生存现状
  2. Angular全套知识讲解,错过必悔!
  3. 关于mysql优化之个人见解
  4. 据说 99% 的人不知道 vue-devtools 还能直接打开对应组件文件?本文原理揭秘
  5. 更快更精准的感知,元戎启行提出基于LiDAR的3D物体检测新框架|CVPR 2020
  6. Registry:THERE IS NOT VERSION ASSOCIATED FOR THIS PARTICULAR SCHEMA
  7. 操作系统知识点大总结【管程与死锁】
  8. 693. Binary Number with Alternating Bits -LeetCode
  9. postgresql-9.6.6主从
  10. 20170724 Airflow官网资料学习
  11. USB接线引脚定义图
  12. 3D视觉学习路线 + 路线规划
  13. mysql 世界国家省市地区数据,中英文
  14. 如何写出布局好看而且漂亮的博客
  15. html表格怎么设置间距,HTML表格间距怎么设置
  16. ★40个经典的社交心理学现象
  17. Riverbed发布业界最全面的数字体验管理解决方案
  18. 你每天应该吃多少水果?
  19. 存储卡 介质受写入保护 U盘无法删除文件 无法新建文件 存储卡无法删除文件 无法新建文件
  20. 微服务开放平台接口设计

热门文章

  1. python使用hdfs库操作Hadoop的HDFS
  2. 如何借助游戏联运平台创业?
  3. Network | 高颜值网络可视化工具(一)
  4. 关于kaggle填电话号码的问题
  5. 重学设计模式(三、设计模式-原型模式)
  6. Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
  7. 菜刀工具连接不上_每日一练168:关于冷媒管与分歧器管段自动连接的一种做法...
  8. 我的知识星球为什么要设置为6000元/年?
  9. 将dtb反编译成dts
  10. 凌云库存管理系统的几点使用心得