在n个点中,距离最近的两个点,在二维坐标平面中,两点分别是a(x1,y1),b(x2,y2),则两点距离是
d=sqrt((x1-x2)^2+(y1-y2)^2)
蛮力法,将平面内的n个点,两两组队,计算最小距离,注意,这儿没有方向,也就是说两点之间只需要求解一次就行了,而且考虑的是距离所以可以简化公式,不用开方,直接计算平方就行了。
其中注意,ind1和ind2这个引用类型,return返回只能返回一个,所以用引用类型变量。
close.txt
15
5 10
9 1
10 12
10 19
13 15
15 19
16 20
19 9
24 0
24 12
31 32
32 24
38 29
40 56
45 23
#include<iostream>
#include<math.h>
#include<time.h>
#include<fstream>
using namespace std;
#define MAX 0x3f3f3f3f //定义无穷大
#define M 100
typedef struct Point
{
int x;
int y;
}P[M];
float ClosePoint(P p,int n,int &ind1,int &ind2)
{
int dmin=MAX,d;
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
d=(p[i].x - p[j].x)*(p[i].x - p[j].x) + (p[i].y - p[j].y)*(p[i].y - p[j].y);
if(d<dmin)
{
dmin=d;
ind1=i;
ind2=j;
}
}
}
return dmin;
}
int main()
{
clock_t start;
double totaltime;
start=clock();
int ind1,ind2,n;
P p;
float dmin;
ifstream read_in;
read_in.open("close.txt");
read_in >> n;
cout<<"读入点数为:"<<n<<endl;
cout<<"点的坐标为:"<<endl;
for(int i=0;i<n;i++)
{
cout<<"p"<<i+1<<":";
read_in>>p[i].x>>p[i].y;
cout<<p[i].x<<" "<<p[i].y<<endl;
}
dmin=sqrt(ClosePoint(p,n,ind1,ind2));
cout<<"最近的两个点是:"<<"p"<<ind1+1<<" "<<"p"<<ind2+1<<endl;
cout<<"最近的距离是:"<<dmin<<endl;
clock_t end=clock();
totaltime=(double)(end-start)/CLOCKS_PER_SEC;
cout<<"程序运行时间是:"<<totaltime<<endl;
return 0;
}
文章浏览阅读1.5k次。系统展示技术框架 开发语言:Java; 后端框架:SSM; 持久层框架:MyBatis 前端技术:jQuery.js,js,CSS; 中间件:Tomcat(apache-tomcat-8.0.47); 数据库:MySQL5.7/mariadb-10.3.14-winx64; 开发工具:Eclipse,HeidiSQL/Navicat; 开发环境建议开发者使用以下环境,这样避免版本带来的问题 IDE:ecl_基于ssm的在线考试系统的设计与实现
文章浏览阅读993次,点赞3次,收藏2次。MAC地址 长度48位即物理地址/硬件地址,全1为数据链路层广播地址。无效MAC帧IEEE802.3:帧长度不是整数个字节;检验序列 FCS 查出差错;数据字段长度太大或太小。MAC帧格式目的地址 6Byte 源地址 6Byte 类型 2Byte 数据字段 46Byte~1500Byte FCS 4Byte其中:1500Byte是MTU。46是以太网最短帧长减去6+6+2+4=18Byte。LAN特点无线局域网标准IEEE 802.11。其地理范围和站点数目都有限。可以_10mbit/s以太网最小的争用期长度
文章浏览阅读9.9k次,点赞3次,收藏46次。在上一篇文章《使用朴素贝叶斯算法对文档分类详解》中,我们实现了用朴素贝叶斯算法对简单文档的分类,今天我们将利用此分类器来过滤垃圾邮件。1. 准备数据——文本切分之前算法中输入的文档格式为单词向量,例如['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],而实际情况中通常要处理的是文本(例如邮件),那么就要先将文本转换为词向量,..._朴素贝叶斯算法提取中文单词
文章浏览阅读337次。一、Swing1.概述与AWT类似,Swing也是GUI的一部分,并且Swing是在AWT组件基础上构建的,它所提供的功能要比AWT提供的更为广泛既然Swing是在AWT基础上构建的,那么Swing中就包含AWT中的各种组件,只是形式略有区别,用法相同我们在使用Swing开发时,只需要很少的代码就可以利用其丰富、灵活的功能和模块化组件来创建更优雅的用户界面2.顶层容器使用Swing时,..._swing显示
文章浏览阅读1.3k次。07款的E280、开了24万公里。于2021年5月5日出现发动机灯亮。到修理厂电脑检查右列气缸组二次空气喷射故障(功能链)P0410 ,这是第一次出现。由于经常给候车的丁总没有在,其他工程师只是将故障码清楚,说再观察观察。2021年5月16日 故障灯亮 P0410,送到修理厂,由丁总亲自检查![在这里插入图片描述](https://img-blog.csdnimg.cn/20210622114924979.png?x-oss-process=image/watermark,type_ZmFuZ3poZW_p0410
文章浏览阅读4.6k次。当用到河流或者别的有水域存在的东西的时候,如果要对人物走在水面上添加一个水纹效果,或者东西掉落在水里边有个水花四溅的效果,这都需要粒子系统做出来的水花效果(waterEffect)的结合,首先是检测碰撞,然后是在碰撞点实例化一个waterEffect_unity 雨打地上的水花
文章浏览阅读2k次。centos,使用pm2部署node应用之后,发现访问不了,单独node启动也访问不了最后究其原因,端口被挡了。。。解决方法:$ /sbin/iptables -I INPUT -p tcp --dport 58089 -j ACCEPT执行后,可以访问了。。。记录之..._node-red 启动网页不显示
文章浏览阅读5.8k次,点赞3次,收藏2次。其实想要重置 5.7 的密码很简单,就一层窗户纸:1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1这一行配置让 mysqld 启动时不对密码进行验证2、重启 mysqld 服务:systemctl restart mysqld3、使用 root 用户登录到 mysql:mysql -u root _mysql 5.7 默认生成一个随机密码
文章浏览阅读234次。题目:给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]题解:回溯法package com.lcz.leetcode;import java.util.*;public class Leetcode46 { public List<List<Integer>> permute(int[] nums._leetcode 全排列js
文章浏览阅读5.3k次。1.时间表示pg中的LOCALTIMESTAMP(0),相当于oracle中的sysdate2.时间进行格式转换2.1 to_Char to_char(LOCALTIMESTAMP(0), 'YYYY-MM-DD HH24:MI:SS') as detect_time2.2 to_Date to_date('2018-03-12 18:47:35','yyyy-MM-dd') to_date(#{birthdate},'yyyy-MM-d..._postgres date
文章浏览阅读164次。首先,第一点是在html中嵌入swf文件 如下,在html中插入语句 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="500px" id="mapFlas..._thml 调用flex
文章浏览阅读1.2w次,点赞17次,收藏146次。排列熵算法(Permutation Entropy PE)出发点:用于脑电信号的信号判别,提取该排列熵特征,以区分不同的类其它突变信号检测方法:总结:1、傅里叶变换在全局上提供了信号整体奇异性的描述, 无法指出局部对整体奇异性的贡献, 因此无法定位突变发生的具体时刻2、短时傅里叶变换在给定的时间间隔和频率间隔内效果比较明显, 但对所有的频率都使用单一的窗函数, 分辨率保持不..._时间序列复杂度