算法与数据结构实验题 5.2 Missile
1、题目:
2、解题思路:
把每个点对应的两条半径求出,之后对d1进行升序排序,对应d2也改变位置。其中一个圆心的半径r1确定之后,除去第一个圆包围的点,在其余点中找到另外一个圆的最长的半径r2,此时r1+r2就是所求的包围所有点的半径之和,与最小值进行比较即可。要注意的是r1的半径可能是0,这种情况要另外考虑。
3、代码:
#include<iostream>
#include<algorithm>
using namespace std;
struct Node
{
int d1;
int d2;
} node[100001];
int cmp(Node n1, Node n2)
{
return n1.d1 < n2.d1;
}
int main()
{
int x1,x2,y1,y2;
int n,i,x,y;
cin>>x1>>y1>>x2>>y2;
cin>>n;
for(i=0; i<n; i++)
{
cin>>x>>y;
node[i].d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
node[i].d2=(x-x2)*(x-x2)+(y-y2)*(y-y2);
}
sort(node,node+n,cmp);//对d1升序排序
int r1=0,r2=0,ans=-1;
for(i=n; i>0; i--)
{
r1= node[i-1].d1;
if(i<n)
if(node[i].d2>r2)
{
r2=node[i].d2;
}
if(ans>(r1+r2)||ans<0)
{
ans=r1+r2;
}
}
//r1=0时
if(node[0].d2>r2)
{
r2=node[0].d2;
}
if(ans>r2||ans<0)
{
ans=r2;
}
cout<<ans<<endl;
return 0;
}
算法与数据结构实验题 5.2 Missile的更多相关文章
- 算法与数据结构实验题 6.4 Summary
★实验任务 可怜的 Bibi 丢了好几台手机以后,看谁都像是小偷,他已经在小本本上记 下了他认为的各个地点的小偷数量. 现在我们将 Bibi 的家附近的地形抽象成一棵有根树.每个地点都是树上的 一个节 ...
- 算法与数据结构实验题 6.3 search
★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x, ...
- 算法与数据结构实验题 4.2 小 F 打怪
★实验任务 小 F 很爱打怪,今天因为系统 bug,他提前得知了 n 只怪的出现顺序以及击 倒每只怪得到的成就值 ai.设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒 钟出现一只新怪且没被击倒 ...
- 算法与数据结构实验题 4.1 伊姐姐数字 game
★实验任务 伊姐姐热衷于各类数字游戏,24 点.2048.数独等轻轻松松毫无压力.一 日,可爱的小姐姐邀请伊姐姐一起玩一种简单的数字 game,游戏规则如下: 一开始桌上放着 n 张数字卡片,从左到右 ...
- 算法与数据结构实验题6.4 order (二叉树)
1.题目: 2.代码: #include<iostream> #include<algorithm> using namespace std; struct Node { in ...
- 基础算法和数据结构高频题 II
DFS的两种理解方式:1. 按照实际执行顺序模拟 (适合枚举型DFS,下节课内容)2. 按照DFS的定义宏观理解 (适合分治型DFS,本节课内容) 1 Convert BST to Greater T ...
- 第三章 基础算法和数据结构高频题 I
区间类问题 1 Missing Interval public List<String> findMissingRanges(int[] nums, int lower, int uppe ...
- DS实验题 sights
算法与数据结构实验题 6.3 sights ★实验任务 美丽的小风姑娘打算去旅游散心,她走进了一座山,发现这座山有 n 个景点, 由于山路难修,所以施工队只修了最少条的路,来保证 n 个景点联通,娇弱 ...
- DS实验题 order
算法与数据结构 实验题 6.4 order ★实验任务 给出一棵二叉树的中序遍历和每个节点的父节点,求这棵二叉树的先序和后序遍历. ★数据输入 输入第一行为一个正整数n表示二叉树的节点数目,节点编号从 ...
随机推荐
- nginx配置rewrite
1. uri 和 url读取区别 区别就是URI定义资源,而URL不单定义这个资源,还定义了如何找到这个资源. 比如说,一个服务器上,到一个文件夹/网页的绝对地址(absolute path)就是U ...
- 【MySQL】主备复制
复制对于mysql的重要性不言而喻,mysql集群的负载均衡,读写分离和高可用都是基于复制实现.下文主要从4个方面展开,mysql的异步复制,半同步复制和并行复制,最后会简单聊下第三方复制工具.由于生 ...
- python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...
- 使用Idhttp.get('') 造成假死(堵塞),请问线程idhttp怎么才能做到不出错?
参考这个帖子 http://blog.csdn.net/chyoma/article/details/50839715
- Couchbase之个人描述及入门示例
本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...
- 去块率波 Deblocking filter
基于块的视频编码的一个典型特点就是在图像中会出现偶发的可察觉的块结构,这是由于重构块的边缘像素与块内部像素相比恢复精度要低,块效应是目前压缩编码最明显的视觉失真之一.在H.264/ AVC视频编码标准 ...
- 黑盒测试与白盒测试(Black box Testing)
黑盒测试和白盒测试的优缺点 类别 优点 缺点 黑盒测试 不需要了解软件代码 从用户角度出发 无法保证代码内各个路径被覆盖到 白盒测试 强制测试开发工程师关注代码的具体实现 揭露隐藏在代码中的Bug 是 ...
- COSBench添加driver负载机
说明:Driver是COSBench测试工具中对负载机的一种标记,相当于loadrunner中的负载发生器. 在使用COSBench进行云存储性能测试时,面对强大的云服务,如果只有单个driver负载 ...
- Android自学笔记:环境配置
Info: 自学Android之旅第二篇,初步学习会有疏漏,以后我会不断修改补全,直到完美. 2014-10-09:初版 2014-11-12: 重新配置了一台电脑,更新在学习robotium过程中, ...
- 数据结构中很常见的各种树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)
数据结构中常见的树(BST二叉搜索树.AVL平衡二叉树.RBT红黑树.B-树.B+树.B*树) 二叉排序树.平衡树.红黑树 红黑树----第四篇:一步一图一代码,一定要让你真正彻底明白红黑树 --- ...