SOJ 1085 SCU 简单计算几何
BackGroud
Year 2003
不知你是否注意到,四川大学每年都会在各宿舍楼里放老鼠药,以解决学生宿舍的老鼠问题。 今年,学校的领导为了更好的展开灭鼠的行动,引进了一项新的技术:SCU(Super Cat Union)。 它是通过两只机器猫对宿舍楼的扫描来判断老鼠的所在,然后采取相应的措施。 这下可惹急了我们的FatMouse,它通过努力,终于找到了SCU的一个bug...
The Problem
假设两只猫的工作范围各是一个球,猫位于球中心。在三维空间中两个球的相交点构成一个平面(假设在本题中两个球总是相交的)。 当老鼠在这个相交点构成的平面上时,SCU无法检测到老鼠的存在。 现在我们给出某一时刻两个机器猫的位置和他们工作范围的半径, 请问当FatMouse在某一个位置(x,y,z)上时,SCU是否能检测到FatMouse?
输入
输入的第一行为总的测试数据组数n。接下来一共有n行,每行代表一组测试数据。 每组测试数据包括11个整数,前面4个是SCU第一个机器猫所在的位置和它的工作半径,接下来的4个是第二个机器猫的位置和工作半径。 最后3个数是FatMouse的位置。
输出
对应每一组输入数据,判断FatMouse是否会被检测到。如果FatMouse能被检测到,输出"Yes",否则,输出"No"。
样例输入
3
0 0 0 8 10 0 0 8 5 5 5
0 0 0 8 10 0 0 8 5 0 0
0 0 0 8 10 0 0 8 0 8 0
样例输出
No
No
Yes
解题思路:
本题有两种做法,一种是通过两个球的方程来推导出相交平面的方程,另一种则是通过判断与两个球心的距离和半径的关系来判断。一开始的时候想设立一个flag=0,看到两个球心的2个距离中有几个小于相应半径来判断,但是忽略了一个球可能在另一个球的情况,于是换了一种判断方法,即解决。
AC代码:
#include <stdio.h>
#include <iostream>
using namespace std;
typedef long long ll; int main(){
ll x1,x2,x3,y1,y2,y3,z1,z2,z3,r1,r2;
ll t;
scanf("%ld",&t);
while(t--){
scanf("%ld%ld%ld%ld%ld%ld%ld%ld%ld%ld%ld",&x1,&y1,&z1,&r1,&x2,&y2,&z2,&r2,&x3,&y3,&z3);
ll d1=(x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)+(z3-z1)*(z3-z1);
ll d2=(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)+(z3-z2)*(z3-z2);
if(r1*r1<d1 && r2*r2<d2) printf("No\n");
else if(r1*r1-d1==r2*r2-d2) printf("No\n");
else printf("Yes\n");
}
return ;
}
SOJ 1085 SCU 简单计算几何的更多相关文章
- ●POJ 1556 The Doors(简单计算几何+最短路)
●赘述题目 10*10的房间内,有竖着的一些墙(不超过18个).问从点(0,5)到(10,5)的最短路. 按照输入样例,输入的连续5个数,x,y1,y2,y3,y4,表示(x,0--y1),(x,y2 ...
- 2018.07.04 POJ 2398 Toy Storage(二分+简单计算几何)
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Description Mom and dad have a problem: their ch ...
- 2018.07.03 BZOJ 1007: [HNOI2008]水平可见直线(简单计算几何)
1007: [HNOI2008]水平可见直线 Time Limit: 1 Sec Memory Limit: 162 MB Description 在xoy直角坐标平面上有n条直线L1,L2,-Ln, ...
- HDU2948Geometry Darts(简单计算几何)
题目大意就是说两个人掷飞镖,飞镖在所给定的图形内就记一分,现在给定N个图形(圆.三角形和矩形),问每一次比赛(没人分别掷三次)谁赢. #include <map> #include < ...
- 2018.07.04 POJ 1654 Area(简单计算几何)
Area Time Limit: 1000MS Memory Limit: 10000K Description You are going to compute the area of a spec ...
- 2018.07.04 POJ 3304 Segments(简单计算几何)
Segments Time Limit: 1000MS Memory Limit: 65536K Description Given n segments in the two dimensional ...
- 2018.07.03 POJ 2318 TOYS(二分+简单计算几何)
TOYS Time Limit: 2000MS Memory Limit: 65536K Description Calculate the number of toys that land in e ...
- 2018.07.03 POJ 2653 Pick-up sticks(简单计算几何)
Pick-up sticks Time Limit: 3000MS Memory Limit: 65536K Description Stan has n sticks of various leng ...
- Gym 101917 E 简单计算几何,I 最大流
题目链接 https://codeforces.com/gym/101917 E 题意:给定一个多边形(n个点),然后逆时针旋转A度,然后对多边形进行规约,每个点的x规约到[0,w]范围内,y规约到[ ...
随机推荐
- Idea软件Vim插件问题
人家说用webstorm是纯前端,用Idea是java+前端,好,那就用Idea,装上试试,全选所有插件安装,奇迹出现了,选中一行代码,backspace,删不了,我的天,好吧,复制粘贴的快捷键也不行 ...
- OpenStack概述
OpenStack OpenStack is a cloud operating system that controls large pools of compute, storage, and n ...
- s:iterator的用法
truts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等以下几个简单的demo: s:iterator 标签有3个属性: value:被迭代的集合 id :指定 ...
- FusionChart实现柱状图、饼状图的动态数据显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 对datatable添加数据
DataTable dt = new DataTable(); dt.Columns.Clear(); dt.Columns.Add("事故发生时间"); dt.Columns.A ...
- android ConstraintLayout布局
解析ConstraintLayout的性能优势 Android新特性介绍,ConstraintLayout完全解析 1.子控件的位置约束属性: layout_constraintRight_toLef ...
- Springboot @ResponseBody返回中文乱码
最近我在把Spring 项目改造Springboot,遇到一个问题@ResponseBody返回中文乱码,因为response返回的content-type一直是application/json;ch ...
- golang json 处理的一些例子代码
json 处理的例子代码, 解析结果看后面注释. package main import "encoding/json" import "fmt" impo ...
- Angular入门教程一
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- Week3——Session
Session 一.Session是会话技术的一种.会话技术分为Cookie和Session.Cookie是数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除cookie: S ...