poj 1258
来源:互联网 发布:淘宝网怎么经营 编辑:程序博客网 时间:2024/05/22 01:59
Agri-Net
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 54606 Accepted: 22668
Description
Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet connectivity to all farms in the area. He needs your help, of course.
Farmer John ordered a high speed connection for his farm and is going to share his connectivity with the other farmers. To minimize cost, he wants to lay the minimum amount of optical fiber to connect his farm to all the other farms.
Given a list of how much fiber it takes to connect each pair of farms, you must find the minimum amount of fiber needed to connect them all together. Each farm must connect to some other farm such that a packet can flow from any one farm to any other farm.
The distance between any two farms will not exceed 100,000.
Farmer John ordered a high speed connection for his farm and is going to share his connectivity with the other farmers. To minimize cost, he wants to lay the minimum amount of optical fiber to connect his farm to all the other farms.
Given a list of how much fiber it takes to connect each pair of farms, you must find the minimum amount of fiber needed to connect them all together. Each farm must connect to some other farm such that a packet can flow from any one farm to any other farm.
The distance between any two farms will not exceed 100,000.
Input
The input includes several cases. For each case, the first line contains the number of farms, N (3 <= N <= 100). The following lines contain the N x N conectivity matrix, where each element shows the distance from on farm to another. Logically, they are N lines of N space-separated integers. Physically, they are limited in length to 80 characters, so some lines continue onto others. Of course, the diagonal will be 0, since the distance from farm i to itself is not interesting for this problem.
Output
For each case, output a single integer length that is the sum of the minimum length of fiber required to connect the entire set of farms.
Sample Input
40 4 9 214 0 8 179 8 0 1621 17 16 0
Sample Output
28
Source
USACO 102
#include<cstdio>using namespace std;const int MAX=500;const int maxcost=0xfffffff;int graph[MAX][MAX];int prim(int n){ int lowcost[MAX]; int sum=0; for(int i=2; i<=n; i++) { lowcost[i]=graph[1][i]; } for(int i=2; i<=n; i++) { int mind=0; int min=maxcost; for(int j=2; j<=n; j++) { if(lowcost[j]<min&&lowcost[j]!=0) { min=lowcost[j]; mind=j; } } lowcost[mind]=0; sum+=min; for(int j=2; j<=n; j++) { if(graph[mind][j]<lowcost[j]) { lowcost[j]=graph[mind][j]; } } } return sum;}int main(){ int n; while(~scanf("%d",&n)) { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { scanf("%d",&graph[i][j]); } } printf("%d\n",prim(n)); } return 0;}
0 0
- Poj 1258
- poj 1258
- POJ 1258
- poj 1258
- POJ 1258
- POJ 1258
- poj 1258
- poj 1258
- poj 1258
- POJ 1258
- poj 1258
- poj 1258
- poj 1258
- POJ 1258
- POJ 1258
- POJ 1258
- POJ 1258
- POJ - 1258
- c++删除二维数组中的重复点
- 【UESTC】1422 - Sum Kind Of Problem(水)
- c++设计模式之装饰者模式
- 获取Class实例的三种方式
- 欢迎使用CSDN-markdown编辑器
- poj 1258
- 数组大折腾1
- 微信域名屏蔽检测工具微信域名屏蔽检测api防止微信屏蔽分享域名微信屏蔽域名检测微信分享域名防屏蔽
- 心得
- 用任务计划部署服务器开机自启动程序
- HibernateTools-代码生成pojo对象和hibernate映射文件
- Android viewGoup.dispatchTouchEvent(ev)源码
- OpenCV学习笔记(一)线性变换
- 【UESTC】1423 - Run Step(打表 & 组合)