N - 畅通工程再续 - hdu 1875
Description
Input
每组数据首先是一个整数C(C <= 100),代表小岛的个数,接下来是C组坐标,代表每个小岛的坐标,这些坐标都是 0 <= x, y <= 1000的整数。
Output
Sample Input
Sample Output
#include<stdio.h>
#include<string.h>
#include<queue>
#include<math.h>
using namespace std;
const int maxn = 105;
const double oo = 0x7fffffff;
double G[maxn][maxn];
struct point{int x, y;}p[maxn];
double Len(point a, point b)//求两个小岛的距离,不合法返回oo
{
int x = a.x-b.x;
int y = a.y-b.y;
double l = sqrt(x*x + y*y);
if(l>=10.0 && l<=1000.0)
return l;//合法范围
return oo;
}
double Prim(int N)
{
int vis[maxn]={0, 1};
int i, T = N-1;
double dist[maxn], ans = 0;
for(i=1; i<=N; i++)
dist[i] = G[1][i];
while(T--)
{
int k = -1;
double mini = oo;
for(i=1; i<=N; i++)
{
if(!vis[i] && mini > dist[i])
mini = dist[i], k=i;
}
if(k == -1)return -1;
vis[k] = true, ans += mini;
for(i=1; i<=N; i++)if(!vis[i])
dist[i] = min(dist[i], G[k][i]);
}
return ans;
}
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int i, j, N;
scanf("%d", &N);
for(i=1; i<=N; i++)
scanf("%d%d", &p[i].x, &p[i].y);
for(i=1; i<=N; i++)
for(j=i; j<=N; j++)
{
if(j == i)G[i][j] = 0.0;
else G[i][j] = G[j][i] = Len(p[i], p[j]);
}
double ans = Prim(N);
if(ans < 0)
printf("oh!\n");
else
printf("%.1f\n", ans*100 );
}
return 0;
}
转载于:https://www.cnblogs.com/liuxin13/p/4676170.html
N - 畅通工程再续 - hdu 1875相关推荐
- HDOJ 1875 HDU 1875 畅通工程再续 ACM 1875 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1875 ...
- HDU 1875 畅通工程再续 (最小生成树)
畅通工程再续 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU-1857 畅通工程再续
畅通工程再续 Problem Description 相信大家都听说一个"百岛湖"的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定 ...
- HDU1875 畅通工程再续【Kruskal算法+并查集】
畅通工程再续 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDOJ 1875 畅通工程再续
这个畅通工程还是一交就过,看来畅通工程用来入门是最好了,以后拿这些来挂就不会那么打击人了,天天开心.这里求最小生成树之前要自己构图,很简单就是求出点到点之间的距离,如果距离大于1000和小于10都视作 ...
- 【1863】畅通工程 (HDU)
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 畅通工程再续_MST(hdu 1875)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1875 Problem Description 相信大家都听说一个"百岛湖"的地方吧 ...
- HDU - 1875 畅通工程再续
Problem Description 相信大家都听说一个"百岛湖"的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现.现在政府决定大力发展百岛湖 ...
- HDU 1875 畅通工程再续
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1875 简单的最小生成树 #include <iostream> #include <c ...
最新文章
- 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想
- 写下今年1024的一篇文章
- 11月中30个精心设计的网站案例精选
- 【Clickhouse】Clickhouse Cannot create table with column ‘Int256‘ because experimental bigint types
- centos 6.5 x64 上安装mariadb10
- Ubuntu18.04之boost警告报错
- scala 排序接口Ordering
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_8_解决线程安全问题_Lock锁...
- Linux MPLS 初探
- 5.1 凸二次规划问题
- Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
- 资深工程师,专家,研究员等进阶
- 转载:电脑cmd命令怎么测试网速详细步骤
- p5.js 编程基础学习合集【2】
- 网络基础之计算机网络参考模型(OSI参考模型与TCP/IP协议簇)
- 简单的自动化测试模型(python+selenium)
- jquery 做一个小的倒计时效果
- 爬虫---国家食品药品监督管理总局
- 普通人如何做到“我命由我不由天”
- 仿QQ头像自定义截取功能
热门文章
- ***是如何能破解诸如美国中情局之类的密码
- 关于玻璃体捐献的想法
- flink的dataset/stream/sql三套API的选择以及是否应该阅读源码
- markdown单元格快速合并(不用自己写html代码)
- django-oscar接入paypal的时候提示Error 10001 - Internal Error
- 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage
- 可逆素数编程c语言,巧用C语言求四位的可逆素数
- java 扑克牌排序_java 怎么写compareto方法实现扑克牌排序
- Xtract 实现 VMware Vsphere 迁主机到 Nutanix cluster
- 如何提高天猫入驻成功率?掌握这两点即可