博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1102 Constructing Roads
阅读量:6147 次
发布时间:2019-06-21

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

//最小生成树裸题,稠密图,用prim实现不用kruskal

#include 
#include
#define MAX 110#define INF 1000*100+10int g[MAX][MAX];int n,m;int lowcoat[MAX],adj[MAX];void Prim(){ int i,j,k,min,ans; for(i=1; i<=n; i++) lowcoat[i]=g[1][i] , adj[i]=1; lowcoat[1]=0; for(i=1; i
g[k][j]) lowcoat[j]=g[k][j] , adj[j]=k; } for(ans=0 , i=1; i<=n; i++) if(g[i][j=adj[i]]!=-1) ans+=g[i][j]; printf("%d\n",ans); return ;}int main(){ int i,j,a,b; while(scanf("%d",&n)!=EOF) { for(i=1; i<=n; i++) for(j=1; j<=n; j++) scanf("%d",&g[i][j]); scanf("%d",&m); for(i=1; i<=m; i++) { scanf("%d%d",&a,&b); g[a][b]=g[b][a]=-1; //不能改为0,会导致算法出错,仔细想想即可 }/* for(i=1; i<=n; i++) { for(j=1; j<=n; j++) printf("%d ",g[i][j]); printf("\n"); }*/ Prim(); } return 0;}

转载于:https://www.cnblogs.com/scau20110726/archive/2012/10/15/2724640.html

你可能感兴趣的文章
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
day6-if,while,for的快速掌握
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
angularjs表达式中的HTML内容,如何不转义,直接表现为html元素
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
[Usaco2015 dec]Max Flow
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>
深入python的set和dict
查看>>
C++ 11 lambda
查看>>