POJ1258Agri-Net
http://poj.org/problem?id=1258
题意 : john当上了镇长,打算给每个农场都连接网络,需要用最小的成本连接其他所有农场,所以要找最少的纤维连在一起,任何两个农场之间的距离不超过十万。输入n,下面有n行n列,代表着每两个农场的距离,对角线为0,因为自己到自己是为0;
解题思路 : 这个题要包含所有的农场,赤果果的最小生成树,这个题的话,注意是多组输入还有数组不要开得太小,算法的话prim和kruskal都可以,我用的是prim。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int ans,dis[][];
const int INF = << ;
int vis[],n,low[];
int prim()
{
memset(vis,,sizeof(vis));
int i,j,flag,min;
ans = ;
for(i = ; i <= n ; i++)
{
low[i] = dis[][i];
}
vis[] = ;
for(i = ; i <= n ; i++)
{
min = INF;
for(j = ;j <= n ; j++)
{
if(min > low[j]&&!vis[j])
{
min = low[j] ;
flag = j;
}
}
if(min >= INF)
{
flag = - ;
break ;
}
ans+=min ;
vis[flag] = ;
for(j = ; j <= n ; j++)
{
if(dis[flag][j] < low[j] && !vis[j])
low[j] = dis[flag][j];
}
}
return ans ;
}
int main()
{
while(~scanf("%d",&n))
{
for(int i = ; i <= n ; i++)
{
for(int j = ; j <= n ; j++)
{
cin>>dis[i][j] ;
}
}
ans = prim();
cout<<ans<<endl;
}
return ;
}
POJ1258Agri-Net的更多相关文章
- POJ-1258-Agri Ned
链接:https://vjudge.net/problem/POJ-1258#author=fuxianda 题意: 有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么 ...
- ACM/ICPC 之 四道MST-Prim解法(POJ1258-POJ1751-POJ2349-POJ3026)
四道MST,适合Prim解法,也可以作为MST练习题. 题意包括在代码中. POJ1258-Agri Net 水题 //Prim-没什么好说的 //接受一个邻接矩阵,求MST //Time:0Ms M ...
随机推荐
- 【风马一族_Java】 Java的文件类 java.io
BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader ...
- 《RHEL6.3权限的管理》
变换用户身份 su 命令 从普通用户切换到root用户需要密码,从root用户切换到普通用户不需要密码. 这样的切换只是登陆的身份变为了root,文件的环境仍然没变. su -命令 完全切换 ...
- VmodCam top verilog
`timescale 1ns / 1ps /////////////////////////////////////////////////////////////////////////////// ...
- Fedora 20 创建桌面快捷方式
创建desktop文件 sudo touch /usr/share/applications/sublime.desktop 添加内容 [Desktop Entry] Encoding=UTF-8 N ...
- 前端自动化构建工具——gulp
gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...
- 简单实用的PHP验证码类
一个简单实用的php验证码类,分享出来 ,供大家参考. 代码如下: <?php /** @ php 验证码类 @ http://www.jbxue.com */ Class code { var ...
- SQLdiag Utility
使用SQLdiag 会进行信息搜集类型 Windows 系统性能日志 Windows 系统日志 SQL Server 性能信息 SQL Server 阻塞信息 SQL Server 配置信息 如何使用 ...
- Log Parser 2.2
Log Parser 2.2 是一个功能强大的通用工具,它可对基于文本的数据(如日志文件.XML 文件和 CSV 文件)以及 Windows 操作系统上的重要数据源(如事件日志.注册表.文件系统和 A ...
- zendframework 事件管理(二)
首先需要明确的几个问题: Q1.什么是事件? A:事件就是一个有名字的行为.当这个行为发生的时候,称这个事件被触发. Q2.监听器又是什么? A:监听器决定了事件的逻辑表达,由事件触发.监听器和事件往 ...
- netlink---Linux下基于socket的内核和上层通信机制 (转)
需要在linux网卡 驱动中加入一个自己的驱动,实现在内核态完成一些报文处理(这个过程可以实现一种零COPY的网络报文截获),对于复杂报文COPY下必要的数据交给用户 态来完成(因为过于复杂的报文消耗 ...