SSL P1618 剑鱼行动
来源:互联网 发布:ubuntu 了mac主题包 编辑:程序博客网 时间:2024/04/28 01:04
算法:克鲁斯卡尔(Kruskal)
Description
给出N个点的坐标,对它们建立一个最小生成树,代价就是连接它们的路径的长度,现要求总长度最小。N的值在100以内,坐标值在[-10000,10000].结果保留二位小数
Input
5 —————5个点
0 0 —————5个点点的坐标
0 1
1 1
1 0
0.5 0.5
Output
2.83
解法:
1.先用勾股定理求出第i个点到第j个点的距离并储存在数组中。
2.克鲁斯卡尔(Kruskal)
var a:array [0..101,0..101] of extended; v:array [0..101] of longint; x,y:array [0..101] of extended; i,j,k,n,t,p,q:longint; min,ans:extended;begin readln(n); for i:=1 to n do begin readln(x[i],y[i]); v[i]:=i; end; for i:=1 to n do for j:=1 to n do if i<>j then a[i,j]:=sqrt(abs(x[i]-x[j])*abs(x[i]-x[j])+abs(y[i]-y[j])*abs(y[i]-y[j])); for k:=1 to n-1 do begin min:=maxlongint; for i:=1 to n do for j:=1 to n do if (v[i]<>v[j]) and (a[i,j]<min) and (a[i,j]<>0) then begin min:=a[i,j]; p:=j; q:=i; end; ans:=ans+min; t:=v[p]; for i:=1 to n do if v[i]=t then v[i]:=v[q]; end; writeln(ans:0:2);end.
2 0
- SSL P1618 剑鱼行动
- 剑鱼行动-SSL 1618
- 剑鱼行动
- 剑鱼行动
- 剑鱼行动
- 剑鱼行动
- 剑鱼行动
- 剑鱼行动
- 剑鱼行动
- SSL 1618——剑鱼行动(最小生成树)
- 电影《剑鱼行动》观后感
- 【SSLGZ 1618】剑鱼行动
- 剑鱼行动(普里姆算法)
- [最小生成树]剑鱼行动
- 剑鱼行动(俩种方法)!!!
- 剑鱼行动(克鲁斯卡尔算法)
- 行动
- 行动
- ViewPage中自定义标题栏(四)
- 红黑树-TreeMap
- 二叉排序查找树
- ROS学习历程(5)-----在工作空间中构建和使用catkin包
- android edittext切换编辑状态
- SSL P1618 剑鱼行动
- 11.30 install caffe
- Altium Designer 10 介绍、原理图及其模板常规设计
- leetcode- Island Perimeter
- RMIC
- linux: 未知的名称或服务
- Hibernate是什么?
- SubLime Text3的安装
- ES6新特性-------解构、参数、模块和记号(续)