標籤:physical ++ uri length where phi series 配置 blog
Agri-NetTime Limit: 1000MS Memory limit: 10000K題目描寫敘述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.輸入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.輸出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.示範範例輸入
40 4 9 214 0 8 179 8 0 1621 17 16 0
示範範例輸出
28
#include <stdio.h>#include <string.h>int Map[110][110];int eveco[110], vis[110];int n,m;int Prim(int n){int cost = 0;memset(vis, false, sizeof(vis));for(int i=1; i<=n; i++)eveco[i] = Map[1][i];vis[1] = true;for(int i=1; i<n; i++){int m = 0x3f3f3f3f;int pos;for(int j=1; j<=n; j++)if(!vis[j] && eveco[j] < m)m = eveco[j], pos = j;if(m == 0x3f3f3f3f)break;cost += m;vis[pos] = true;for(int j=1; j<=n; j++)if(!vis[j] && eveco[j] > Map[pos][j])eveco[j] = Map[pos][j];}return cost;}int main(){while(~scanf("%d",&n)){for(int i=1; i<=n; i++)for(int j=1; j<=n; j++)scanf("%d",&Map[i][j]);printf("%d\n",Prim(n));}return 0;}
閱讀全文 著作權聲明:本文為博主原創文章,未經博主同意不得轉載。
舉報
0條評論
-
-
相關文章推薦
-
poj 1258 Agri-Net-----最小產生樹 prim Agri-NetTime Limit:1000MS</td
- kouriba
- 2012-05-04 18:00
- 261
-
最小產生樹( Highways + Agri-Net) HighwaysTime Limit : 2000/1000ms (Java/Other)???Memory Limit : 131072/65536K (Java/Other)Tot...
- C18854805113
- 2017-08-09 20:47
- 57
-
歡迎關注CSDN程式人生公眾號 關注程式猿生活,匯聚開發軼事。
-
Agri-Net(kruskal) H - Agri-NetCrawling in process... Crawling failed Time Limit:1000MS Memory Limit:</st
- Simone_chou
- 2013-08-20 02:07
- 265
-
POJ 1258 Agri-Net 【最小產生樹入門題目】【prime模板】 Agri-NetTime Limit:?1000MS?Memory Limit:?10000KTotal Submissions:?29613?Acce...
- qq_38465092
- 2017-08-03 20:34
- 25
-
POJ 1258 Agri-Net(最小產生樹) POJ 1258 Agri-Net(最小產生樹)http://poj.org/problem?
id=1258<span style="color:
-
-
Code_KK的部落格 +關注
-
原創
-
272
-
粉絲
-
14
-
喜歡
-
0
- 隆之智環保科技有限公司 內部印表機配置
- SQL批量替換指定字元
- Unix命令執行tomcat
- Maven編譯報錯 Unknown lifecycle phase "mvn" 解決的方法
很多其它文章
線上課程
-
-
【直播】電腦視覺原理及實戰—屈教授
-
-
utm_source=blog7" target="_blank">【套餐】Spark+Scala課程包--陳超
收藏助手 不良資訊舉報
<html>