博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1258 Agri-Net
阅读量:4570 次
发布时间:2019-06-08

本文共 1809 字,大约阅读时间需要 6 分钟。

http://poj.org/problem?id=1258

裸求最小生成树

这句话好像没什么影响"Physically, they are limited in length to 80 characters, so some lines continue onto others"

1 #include 
2 #include
3 #include
4 #include
5 #define READ() freopen("in.txt", "r", stdin); 6 #define MAXV 20007 7 #define INF 0x3f3f3f3f 8 using namespace std; 9 10 typedef pair
P;11 int N;12 struct Edge13 {14 int to, cost, next;15 Edge () {}16 Edge(int to, int cost, int next) : to(to), cost(cost), next(next) {}17 }edge[MAXV];18 19 int head[MAXV];20 int num = 0;21 22 void Add(int from, int to, int cost)23 {24 edge[num] = Edge(to, cost, head[from]);25 head[from] = num++;26 }27 28 int prim()29 {30 int res = 0;31 int dist[MAXV];32 bool use[MAXV];33 priority_queue
, greater

> que;34 fill(dist, dist+MAXV, INF);35 fill(use, use+MAXV, false);36 dist[1] = 0;37 que.push(P(dist[1], 1));38 while (!que.empty())39 {40 P p = que.top();41 que.pop();42 int v = p.second, d = p.first;43 if (!use[v])//**44 {45 res += dist[v];46 }47 use[v]= true;48 if (dist[v] < d) continue;49 int t = head[v];50 while (t != -1)51 {52 Edge e = edge[t];53 if (!use[e.to] && dist[e.to] > e.cost)//**54 {55 dist[e.to] = e.cost;56 que.push(P(dist[e.to], e.to));57 }58 t = e.next;59 }60 }61 return res;62 }63 64 65 int main()66 {67 READ()68 while(~scanf("%d", &N))69 {70 int cost;71 num = 0;72 memset(head, -1, sizeof(head));73 memset(edge, -1, sizeof(edge));74 for (int i = 1; i <= N ;i ++)75 {76 for (int j = 1; j <= N; j++)77 {78 scanf("%d", &cost);79 if (i == j) continue;80 Add(i, j, cost);81 Add(j, i, cost);82 }83 }84 int ans = prim();85 cout << ans << endl;86 }87 88 }

 

转载于:https://www.cnblogs.com/oscar-cnblogs/p/6403909.html

你可能感兴趣的文章
[转载,感觉写的非常详细]DUBBO配置方式详解
查看>>
Android在Eclipse上的环境配置
查看>>
面向对象(五)
查看>>
android平台下使用点九PNG技术
查看>>
Python学习3,列表
查看>>
最长回文子串
查看>>
JAVA基础-JDBC(一)
查看>>
js中for和while运行速度比较
查看>>
算法第5章作业
查看>>
7.9 练习
查看>>
基于ArcGIS JS API的在线专题地图实现
查看>>
learnByWork
查看>>
lua 函数
查看>>
Git的基本命令
查看>>
四平方和
查看>>
第十八周 12.27-1.2
查看>>
C# IP地址字符串和数值转换
查看>>
TCHAR和CHAR类型的互转
查看>>
常用界面布局
查看>>
C语言—— for 循环
查看>>