设为首页 加入收藏

TOP

1003 电话连线(二)
2017-10-12 18:16:05 】 浏览:5107
Tags:1003 电话 连线
Min = INF; 19 for(j = 1; j <= n; j++) if(!vis[j] && key[j] < Min) { 20 Mini = j; //找key值最小的点,即与树相邻的节点的最小权值边 21 Min = key[j]; 22 } 23 vis[Mini] = 1; //设置访问过,即生成树已连接Mini这个节点 24 ans += key[Mini]; 25 if(key[Mini]) { 26 f[m] = min(p[Mini], Mini); //字典序的边 27 l[m++] = max(p[Mini], Mini); //同上 28 } 29 for(j = 1; j <= n; j++) //伪松弛,更新树临边节点的key值并维护p域 30 if(!vis[j] && edge[Mini][j] < key[j]) { 31 key[j] = edge[Mini][j]; 32 p[j] = Mini; 33 } 34 } 35 cout << m << endl; 36 for(i = 0; i < m; i++) cout << f[i] << ' ' << l[i] << endl; 37 cout << ans; 38 return 0; 39 }

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2455 繁忙的都市 下一篇BZOJ 4816 数字表格

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目