timus1982. Electrification Plan---最小生成树
来源:互联网 发布:java中interface用法 编辑:程序博客网 时间:2024/06/07 15:36
每WA一次都发现自己方法错了。。
真是太无知了 原来一直都不知道最小生成树是干嘛的 这题基本就一裸的最小生成树了 见识见识
#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <cmath>#include <algorithm>#include <vector>#include <queue>#include <map>#define inf 0x3f3f3f3fusing namespace std;int n,k,vis[110],pp[110],co[110][110],cost[110],p,tmp,ans,minc;int prim(){ int i,j,p; ans=0; vis[1]=1; for(i=2;i<=n;i++) cost[i]=co[1][i]; for(i=2;i<=n;i++) { minc=inf; for(j=1;j<=n;j++) { if(!vis[j]&&minc>cost[j]) { minc=cost[j]; p=j; } } vis[p]=1; ans+=minc; for(j=1;j<=n;j++) { if(!vis[j]&&cost[j]>co[p][j]) cost[j]=co[p][j]; } } return ans;}int main(){ int i,j; while(~scanf("%d%d",&n,&k)) { memset(vis,0,sizeof vis); memset(pp,0,sizeof pp); for(i=0;i<k;i++) { scanf("%d",&p); pp[p]=1; } for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { scanf("%d",&co[i][j]); } } for(i=1;i<=n;i++)//处理下已知的电力塔 for(j=1;j<=n;j++) { if(pp[i]&&pp[j]) { co[i][j]=0; } } printf("%d\n",prim()); } return 0;}
- timus1982. Electrification Plan---最小生成树
- ural 1982. Electrification Plan 【最小生成树】
- ural 1982. Electrification Plan -最小生成树
- ural 1982. Electrification Plan (最小生成树)
- Ural 1982 Electrification Plan (prim最小生成树)
- URAL 1982 Electrification Plan
- Ural1982-Electrification Plan
- hdu3080 The plan of city rebuild(最小生成树)
- ural 1982. Electrification Plan 并查集
- Timus Online Judge 1982 Electrification Plan
- URAL 1982. Electrification Plan(并查集)
- HDU 3080 The plan of city rebuild(除点最小生成树)
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- 树+最小生成树
- 最小生成树
- 最小生成树 MST
- Android开发中Shape画图
- WSAEventSelect模型
- 记渣打银行科营中心的面试
- Java问题排查常用linux命令
- instanceof详细用法
- timus1982. Electrification Plan---最小生成树
- 代理模式
- 润乾V5实现关联过滤多选功能
- String方法摘要
- 移植Linux内核和文件系统,超级终端输出出现“[\u@\h \W]#”
- log4j日志组件
- rails 4.0 中 i18n 进行 model 中文化
- Linux的Service之解析
- Python中的random模块