【郑轻邀请赛 A】tmk射气球
【题目链接】: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射气球相关推荐
- 【zzulioj 2127】 tmk射气球
比较简单的题,直接求空间中一个点到直线的距离而已,这道题说了直线和水平的平面 平行,我们可以先求投影到直线的距离,然后再算当前点到直线的距离. Description 有一天TMK在做一个飞艇环游世界 ...
- zzuli 2127 tmk射气球
经典点到线段最短距离的问题,用向量法写的 题目链接:zzuli-2127 #include<iostream> #include<cmath> using namespace ...
- 【郑轻邀请赛 G】密室逃脱
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133 [题意] [题解] 考虑每一个二进制数的最高位->第i位; 肯定是1(这 ...
- 郑轻校赛 2127 tmk射气球 (数学)
Description 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去射气球,为了提高射击的准确性,他首先在飞艇上找到一个离气球最近的 ...
- 郑轻校园网工具1.0正式版本首发
2019独角兽企业重金招聘Python工程师标准>>> 郑轻校园网工具beta1.0版本首发,郑州轻工业学院专用,破解客户端,发射wifi,网络连接检测,傻瓜化一体工具. 下载地址h ...
- 郑轻第六届校赛 -- 部分题解
1427: 数字转换 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 379 Solved: 93 SubmitStatusWeb Board Des ...
- 【郑轻】[1754]Chowhound!Chowhound!!Chowhound!!!
很简单的一种比较~ #include<stdio.h> int main() {long int x;double a,b;scanf("%ld",&x);a= ...
- 【郑轻】[1391]李白饮酒
倒推 刚开始想错了 应该是一次作诗喝了两次酒~ #include<stdio.h> int main() {int T,n,k;int i;scanf("%d",&am ...
- 【郑轻】[1837]LT说我不服
1837: LT说我不服 Time Limit: 1 Sec Memory Limit: 128 MB Description 对于上一道题目LT不服,表示那么简单的题目不屑于去做,所以我们决定加 ...
最新文章
- 软件开发行业,年轻与大龄程序员的生存现状
- Angular全套知识讲解,错过必悔!
- 关于mysql优化之个人见解
- 据说 99% 的人不知道 vue-devtools 还能直接打开对应组件文件?本文原理揭秘
- 更快更精准的感知,元戎启行提出基于LiDAR的3D物体检测新框架|CVPR 2020
- Registry:THERE IS NOT VERSION ASSOCIATED FOR THIS PARTICULAR SCHEMA
- 操作系统知识点大总结【管程与死锁】
- 693. Binary Number with Alternating Bits -LeetCode
- postgresql-9.6.6主从
- 20170724 Airflow官网资料学习
- USB接线引脚定义图
- 3D视觉学习路线 + 路线规划
- mysql 世界国家省市地区数据,中英文
- 如何写出布局好看而且漂亮的博客
- html表格怎么设置间距,HTML表格间距怎么设置
- ★40个经典的社交心理学现象
- Riverbed发布业界最全面的数字体验管理解决方案
- 你每天应该吃多少水果?
- 存储卡 介质受写入保护 U盘无法删除文件 无法新建文件 存储卡无法删除文件 无法新建文件
- 微服务开放平台接口设计