【杭电】[1162]Eddy's picture
来源:互联网 发布:cd设计软件 编辑:程序博客网 时间:2024/06/05 20:31
给出n个坐标
问把这n个坐标连接起来需要多少墨水
先记录坐标
然后分别计算坐标与坐标之间的距离
#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;double dis[120];double e[120][120];bool flag[120];int inf=99999999;double ab(double x1,double y1,double x2,double y2) { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}struct node { double x,y;} a[120];int main() { int n; while(scanf("%d",&n)!=EOF) { for(int i=1; i<=n; i++) { dis[i]=inf; flag[i]=false; } for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { e[i][j]=inf; } } for(int i=1; i<=n; i++) { scanf("%lf %lf",&a[i].x,&a[i].y); } for(int i=1; i<=n; i++) { for(int j=i; j<=n; j++) { e[i][j]=e[j][i]=ab(a[i].x,a[i].y,a[j].x,a[j].y); } } double sum=0; dis[1]=0; bool x=true; while(true) { int v=-1; for(int u=1; u<=n; u++) { if(!flag[u]&&(v==-1||dis[u]<dis[v])) v=u; } if(v==-1) break; else { flag[v]=true; sum+=dis[v]; for(int u=1; u<=n; u++) { dis[u]=min(dis[u],e[v][u]); } } } printf("%.2lf\n",sum); } return 0;}
题目地址:【杭电】[1162]Eddy’s picture
0 0
- 杭电1162 Eddy's picture
- 杭电Hdu 1162 Eddy's picture
- Eddy's picture 杭电oj 1162
- 杭电1162Eddy's picture
- 【杭电】[1162]Eddy's picture
- 杭电1162 Eddy's picture 最小生成树
- 杭电--1162--Eddy's picture--并查集
- 杭电1162Eddy's picture(最小生成树)
- 杭电1162Eddy's picture(prim算法)
- 1162 Eddy's picture
- Eddy's picture 1162
- 杭电 ACM HDU 1162 Eddy's picture (最短路 prim算法)
- 【杭电oj】1162 - Eddy's picture(最小生成树)
- HDOJ 1162 Eddy's picture
- Hdu-1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- c++第七次实验
- Java多线程编程(第四章)
- hdoj-4256-The Famous Clock
- 遍历进程线程服务任务
- Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
- 【杭电】[1162]Eddy's picture
- java枚举类型的实现原理
- <<离散数学上机实验>>集合上机实验
- 第117课: Spark Streaming性能优化:如何最大程度的确保Spark Cluster和Kafka链接的稳
- 施用JMX远程监控、管理JVM
- 类的常成员、静态成员和友元学习笔记
- 使用Eclipse创建Maven项目
- Android新建项目选择SDK的区别(MiniMum Required SDK; Target SDK; Compile With; Theme )
- 排序:堆排序