【找出平面中的距离自己最近的敌人】 不用计算距离

 
#include <iostream>
using namespace std;
//自己坐标 敌人的坐标(a,b)
double a[6]={0,1,2,3,4,5};
double b[6]={0,1,2,3,4,5};
double c[6]={999};
int who=0;
void fun()
{
    for(int i=1;i<6;i++)
     {
         a[i]-=a[0];b[i]-=b[0];
     }
     for(int i=1;i<6;i++)
     {
       c[i]=a[i]*a[i]+b[i]*b[i];
     }
     for(int i=1;i<6;i++)
     {
        if(c[i]<c[0]) {c[0]=c[i];who=i;}
     }
     cout<<who<<endl;
}
//N多个点的优化
void fun()
{
    for(int i=1;i<6;i++)
     {
         //全部映射要第一向区域
         a[i]-=a[0];b[i]-=b[0];
         if(a[i]<0)a[i]*=-1;
         if(b[i]<0)b[i]*=-1;
     }
      
    for(int i=1;i<6;i++)
     {
         //全部映射要第一向1/2
         if(a[i]<b[i])swap(a[i],b[i]);
     }
      for(int i=1;i<6;i++)
     {
         //找最小的x, 
         if(a[i]<=a[1])whos=i;
     }
      for(int i=1;i<6;i++)
     {
         //x同 取y值最大的
         if(a[i]==a[whos]&&b[i]>=b[whos])whos=i;
     }
     cout<<who<<endl;
}
int main()
{
	cout << "Hello,C++ world of AnycodeX!" << endl;

	fun();
	return 0;
}

//待交流

时间: 2024-10-16 06:37:47

【找出平面中的距离自己最近的敌人】 不用计算距离的相关文章

找到图中最小有向圈的一个时间复杂度为O(mn)的算法

本文介绍一种在n个点 m条边并且没有负长度有向圈的有向图中找到最小有向圈的一个O(mn)时间复杂度的算法,这一结果是对于之前的最好的时间界O(mn+n^2 loglogn)的一个改进. 此算法首先在O(mn)时间复杂度内找到了具有最小平均长度λ^*的圈,因此它选择了点势函数来使得节约成本是λ^*或者更大.之后,该算法解决了所有点对之间的最短路问题,但是接下来将注意力集中于长度最多为nλ^*的最短路,将每一个源点的最短路时间的计算加速到O(m),这样所有的点时间的计算就到了O(mn). 同时,本文

从百度地图API中抠出来的一个js方法,计算百度地图坐标距离

从百度地图api(http://developer.baidu.com/map/jsdemo.htm#a6_1)中抠出来的一个js方法,计算百度地图坐标距离 可读行还没还原,能用就行~ function fD(a, b, c) { for (; a > c;) a -= c - b; for (; a < b;) a += c - b; return a; }; function jD(a, b, c) { b != null && (a = Math.max(a, b));

Java找工作中如何包装自己

人靠衣装佛靠金装,这句古代成语,我们从小听到大,在面试中我们也经常说,要穿的大方得体,这也是包装自己的一个方面,那么在Java找工作中如何具体的包装自己呢?这是个很有必要讨论的话题,今天就跟长沙尚学堂小编一起往讨论下,希望对要参加Java找工作的朋友有所帮助. 很多人不明白Java找工作前为什么还要包装自己,不是说只要Java技术过硬,那么找工作肯定没有问题吗?Java培训的老师,也时常强调,你们必须好好学.认真学,自己有真本事,那么找高薪的工作才不难,在Java找工作中Java技术是排第一位的

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回

题目:给定一个二叉树其中的一个结点(此节点可以为二叉树任意一个节点),请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 此二叉树的中序遍历为:8.4.9.2.10.5.1.6.3.7 思路: (1)如果此结点有右结点:返回 此结点的右结点 的最左的结点(例如4.2) (2)如果此结点没有右结点:(1)此结点为根节点:返回None  (2)此结点为上一个结点的左节点:返回上一个结点(例如结点6.8)  (3)此结点为上一个结点的右节点:(1)此

1.2、和一定时找数组中的两个数(2)

题目同1.和一定时找数组中的两个数 程序差别:此次用三个if语句进行指针的移动. 代码: public class one2 { public static void main(String[] args) { int[] nums = {1,2,3,4,5,6,7,8,9}; int target = 10; int a=0; int b=1; while (a<b) if (a+b==target) { System.out.println("There have"+nums

【转】通过经纬度坐标计算距离的方法(经纬度距离计算)

最近在网上搜索“通过经纬度坐标计算距离的方法”,发现网上大部分都是如下的代码: #define PI 3.14159265 static double Rc = 6378137;  // 赤道半径 static double Rj = 6356725;  // 极半径 class JWD { public: double m_Longitude, m_Latitude; double m_RadLo, m_RadLa; double Ec; double Ed; public: JWD(doub

给定数轴上的n个点,求距离最近的两个点的距离

public class MinimumSpacing { //给定平面上的n个点,求距离最近的两个点的距离. //无从下手的话,先分解问题,分解成简单的,逐个分析,然后再合在一起考虑 //这是个2维的数据,那就先降维到1维分析 //先考虑在一条数轴上有n个点,求最近距离的2个点的距离 // // ------*--*------*---*---> //用分治思想处理 // 1.分割 2.处理 3.合并 3个步骤 // // 1.分割: // 将整个数据[先排序]得到数组s,然后将s从中间一份为

地理空间距离计算及优化(根据两个点经纬度计算距离)

1.地理空间距离计算面临的挑战 打开美团app,不管是筛选团购还是筛选商家,默认的排序项都是"离我最近"或者"智能排序"(如下图所示). 不管是"离我最近"还是"智能排序",都涉及到计算用户位置与各个团购单子或者商家的距离(注:在智能排序中距离作为一个重要的参数参与排序打分).以筛选商家为例,北京地区有5~6w个POI(本文将商家称之为POI),当用户进入商家页,请求北京全城+所有品类+离我最近/智能排序时,我们筛选服务需要计

&nbsp; Css中的盒模型及盒模型宽度计算

CSS假定所有的HTML文档元素都生成了一个描述该元素在HTML文档布局中所占空间的矩形元素(element box),可以形象地将其看作是一个盒子.CSS围绕这些盒子产生了一种"盒子模型"概念. 盒模型,实际上就是把某些标签元素看成为一个箱子.箱子与其他箱子之间的距离,是箱子的最外围,它不是一条边线而是添加在边框外面的空间.这个外边距使元素盒子之间不必紧凑地连接在一起,是CSS布局的一个重要手段.用margin(外边距)属性来表示,margin-top,margin-right,ma