Highways---poj1751最小生成树
http://poj.org/problem?id=1751
题意:有n个点,已知各点坐标,距离为权值,求最小生成树的边
但是这个最小生成树的m条边是已经确定的了,所以可以让已知边的权值为0;
在Prim算法中改一下就行
#include<stdio.h>
#include<string.h>
#include<map>
#include<iostream>
#include<algorithm>
#include<math.h>
#define N 1100
#define INF 0xfffffff using namespace std; int vis[N], n, pre[N];//pre[i]记录的是i的父节点;
double maps[N][N],dist[N]; void Prim(int start)
{
vis[start] = ;
for(int i=; i<=n; i++)
{
dist[i] = maps[start][i];
pre[i] = start;
}
for(int i=; i<=n; i++)
{
double Min = INF;
int index = -;
for(int j = ; j <= n; j++)
{
if(vis[j]== && Min>dist[j])
{
Min = dist[j];
index = j;
}
}
if(index == -) break;
if(Min != )
printf("%d %d\n", pre[index],index);
vis[index] = ;
for(int j=; j<=n; j++)
{
if(vis[j]== && dist[j] > maps[index][j])
dist[j] = maps[index][j], pre[j] = index;
}
}
} struct node
{
int x, y;
}a[N]; void Init()
{
for(int i=;i<=n;i++)
{
pre[i] = i;
vis[i] = ;
dist[i] = INF;
for(int j=; j<=n; j++)
maps[i][j] = INF;
maps[i][i] = ;
}
} int main()
{
int i, j, x, y, m;
double d;
while(scanf("%d", &n)!=EOF)
{
Init();
memset(a,,sizeof(a));
for(i=;i<=n;i++)
scanf("%d%d", &a[i].x, &a[i].y);
for(i=; i<=n; i++)
{
for(j=i+; j<=n; j++)
{
d = sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
maps[i][j] = maps[j][i] = d;
}
}
scanf("%d", &m);
for(i=; i<m; i++)
{
scanf("%d%d", &x,&y);
maps[x][y] = maps[y][x] = ; //把已知边的权值置为0;
}
Prim();
}
return ;
}
Highways---poj1751最小生成树的更多相关文章
- Highways POJ-1751 最小生成树 Prim算法
Highways POJ-1751 最小生成树 Prim算法 题意 有一个N个城市M条路的无向图,给你N个城市的坐标,然后现在该无向图已经有M条边了,问你还需要添加总长为多少的边能使得该无向图连通.输 ...
- C - Highways poj1751最小生成树
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of p ...
- POJ-1751 Highways(最小生成树消边+输出边)
http://poj.org/problem?id=1751 Description The island nation of Flatopia is perfectly flat. Unfortun ...
- POJ1751 Highways【最小生成树】
题意: 给你N个城市的坐标,城市之间存在公路,但是由于其中一些道路损坏了,需要维修,维修的费用与公路长成正比(公路是直的). 但现有M条公路是完整的,不需要维修,下面有M行,表示不需要维修的道路两端的 ...
- POJ 1751 Highways (最小生成树)
Highways 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/G Description The island nation ...
- POJ 2485:Highways(最小生成树&&prim)
Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 21628 Accepted: 9970 Descrip ...
- POJ 1751 Highways 【最小生成树 Kruskal】
Highways Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 23070 Accepted: 6760 Speci ...
- POJ 2485 Highways( 最小生成树)
题目链接 Description The islandnation of Flatopia is perfectly flat. Unfortunately, Flatopia has no publ ...
- POJ 2485 Highways【最小生成树最大权——简单模板】
链接: http://poj.org/problem?id=2485 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- POJ 2485 Highways (求最小生成树中最大的边)
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
随机推荐
- 华为手机nova2s使用第三方字体库
准备好一个字体文件,例如mynew.tff 设置>显示>字体样式>最热,搜索免费,安装一款"兰亭黑体"字体(当然也可以购买) 可以在找到 文件管理>本地&g ...
- 使用java连接数据库以后显示“ Establishing SSL connection without server's identity verification is not recommended”的警告如何解决
今天写了一段查询数据库的操作,如下 package MySQL; import java.sql.*; public class MySQL { //JDBC驱动名以及数据库URL static fi ...
- PHP一致性哈希实现。。
<?php /** *@author:xiaojiang 20140222 * 一致性哈希php 实现 */ class MyHash{ //虚拟节点数 private $_virtualCou ...
- epoll实现机制分析
本文只介绍epoll的主要流程而不是分析源代码,如果需要了解更多的细节可以自己翻阅相关的内核源代码. 相关内核代码: fs/eventpoll.c 判断一个tcp套接字上是否有激活事件:net/ipv ...
- php原生实现图片上传和查看
先上源码:upload_file.php <html> <body> <form action="upload_file.php" method=&q ...
- 【linux】nginx options 跨域问题 请求HTTP错误405 用于访问该页的HTTP动作未被许可 Method Not Allowed
JavaScript JS 跨域问题 HTTP 错误 405 - 用于访问该页的 HTTP 动作未被许可HTTP 错误 405.0 - Method Not Allowed Nginx 处理跨域问题. ...
- java(6) ArrayList源码
系统环境: JDK 1.7 成员变量 //默认的初始化数组大小 private static final int DEFAULT_CAPACITY = 10; //空的对象数组 private sta ...
- Elasticsearch学习之Java操作1
1. Elasticsearch为Java用户提供了两种内置客户端 1.1 节点客户端(node client): 节点客户端以无数据节点(none data node)身份加入集群,换言之,它自己不 ...
- Unity3D NGUI 二 NGUI Button怎样接受用户点击并调用函数,具体方法名称是什么
a.直接监听事件 把下面脚本直接绑定在按钮上,当按钮点击时就可以监听到,这种方法不太好很不灵活. void OnClick(){ Debug.Log("Button is Click!!!& ...
- Unity3D笔记十三 摄像机之间切换
using UnityEngine; using System.Collections; public class _5_6 : MonoBehaviour { private GameObject ...