蓝桥杯---平面四点最小距离
来源:互联网 发布:java怎么清理cookie 编辑:程序博客网 时间:2024/06/05 16:17
没什么意思
已知平面上若干个点的坐标。
需要求出在所有的组合中,4个点间平均距离的最小值(四舍五入,保留2位小数)。
比如有4个点:a,b,c,d, 则平均距离是指:ab, ac, ad, bc, bd, cd 这6个距离的平均值。
每个点的坐标表示为:横坐标,纵坐标
坐标的取值范围是:1~1000
例如,如果程序输入:
10,10
20,20
80,50
10,20
20,10
则程序应该输出:
11.38
但是因为空间的限制,最后一组数据始终没有过,所以只能呵呵了。。。
#include <iostream>#include <stdio.h>#include <memory.h>#include <cmath>using namespace std;#define EN cout<<endl;#define SP cout<<' ';struct T{int x,y;} point[1000];int main(){int count=0,xx,yy;double avr=-1;while(~scanf("%d,%d",&xx,&yy)) point[count].x=xx,point[count++].y=yy;short int distan[1005][1005];for(int i=0;i<count-1;i++) for(int j=i+1;j<count;j++) distan[i][j]=distan[j][i]=sqrt(pow( (point[i].x-point[j].x),2 ) + pow((point[i].y-point[j].y),2) );for(int i=0;i<count-3;i++) for(int j=i+1;j<count-2;j++){ if(distan[i][j]>avr&&avr!=-1) continue; for(int x=j+1;x<count-1;x++){ if( (distan[i][x]>avr||distan[j][x]>avr)&&avr!=-1) continue; for(int y=x+1;y<count;y++){ if( (distan[i][y]>avr||distan[j][y]>avr||distan[x][y]>avr)&&avr!=-1 )continue; double temp = sqrt(pow( (point[i].x-point[j].x),2 ) + pow((point[i].y-point[j].y),2) ); temp+=sqrt(pow( (point[i].x-point[x].x),2 ) + pow((point[i].y-point[x].y),2) ); temp+=sqrt(pow( (point[i].x-point[y].x),2 ) + pow((point[i].y-point[y].y),2) ); temp+=sqrt(pow( (point[j].x-point[x].x),2 ) + pow((point[j].y-point[x].y),2) ); temp+=sqrt(pow( (point[j].x-point[y].x),2 ) + pow((point[j].y-point[y].y),2) ); temp+=sqrt(pow( (point[x].x-point[y].x),2 ) + pow((point[x].y-point[y].y),2) ); temp/=6; if(avr==-1||avr>temp) avr=temp; } } } printf("%.2lf",avr);return 0;}
0 0
- 蓝桥杯---平面四点最小距离
- 蓝桥杯-平面四点平均距离最小
- 四点求距离最小
- 平面4点最小距离
- 蓝桥杯——平面4点最小距离
- 平面上点对的最小距离算法-java实现
- 二维平面曼哈顿距离最小生成树模版
- 求点到平面的距离
- 点到超平面的距离
- 点到超平面距离推导
- 平面上有n个人,挑一家餐馆到这些人的曼哈顿距离最小
- POJ 3241 Object Clustering 二维平面曼哈顿距离最小生成树
- 分治算法应用–求平面两点之间的最小距离
- 寻找距离最小的平面点对——分治方法
- 最小距离
- 点到平面的距离
- 点到平面的距离
- 平面最远哈密顿距离
- 第一章13和14题
- 第5周项目1-体验常成员函数
- Google推荐的图片加载库Glide介绍
- 缓存、缓存算法和缓存框架简介
- soap异常处理
- 蓝桥杯---平面四点最小距离
- 一、Android 图片加载框架 Fresco 入门
- 虚方法与抽象方法有什么区别
- 【php】使用重定向,伪装表单处理页面不存在
- WIN7刻录MOV文件到光盘分享
- numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
- XenDesktop/XenApp 7.x 禁用/设置超时自动断开会话
- 个人重构——职责链模式
- mac 终端保存环境变量后 ls 等命令不能找到(command not fond)