POJ 2485Highways (又一个Prim最小生成树水题)
2017-03-16 19:07
549 查看
题目很直观, 只要输出最小生成树中最大的边权;
Code:
Code:
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<queue> using namespace std; const int inf=0x3f3f3f3f3f; const int maxn = 505; int dis[maxn][maxn]; int ans, n; int max(int a, int b){ return (a>b)?a:b; } void prim(){ int vis[maxn], d[maxn], i, j, k; memset(vis, 0, sizeof(vis)); memset(d, inf, sizeof(d)); int MIN=inf, v=0; d[1]=0; while(true){ MIN = inf , v = -1; for(i=1; i<=n; i++){ if(!vis[i] && d[i]<MIN){ v = i; MIN = d[i]; } } if(v==-1) return ; vis[v] = 1; ans= max(ans,MIN); for(i=1;i<=n;i++){ if(!vis[i] && d[i] > dis[v][i]){ d[i] = dis[v][i]; } } } return; } int main() { int T, i, j; //freopen("in.txt", "r", stdin); scanf("%d", &T); while(T--){ memset(dis, 0, sizeof(dis)); ans=0; scanf("%d", &n); for(i=1; i<=n; i++){ for(j=1; j<=n; j++){ scanf("%d", &dis[i][j]); } } prim(); printf("%d\n", ans); } return 0; }
相关文章推荐
- poj 1789 Truck History prim最小生成树 基础!!!!
- POJ1258 Agri-Net(简单的prim最小生成树)
- POJ1789,Truck History,最小生成树,Prim
- 生成树最小生成树poj 1258 prim
- poj 3625 Building Roads-Prim(最小生成树)
- poj 2485 Highways prim最小生成树 基础 球最小生成树中得最大边
- poj 1258 最小生成树 prim+优先队列
- POJ2485,Highways,最小生成树继续Prim
- Prim最小生成树【poj 2349 Arctic Network;poj 1287 NetWorking】
- POJ 1258 prim模版求最小生成树
- poj 2485(最小生成树 Prim)
- POJ2349—最小生成树的Kruskal和Prim实现
- PoJ 2253 Prim 最小生成树
- poj 1789 Truck History(最小生成树 prim)
- poj 2485Highways(最小生成树 Kruskal)
- poj 1258 Agri-Net-----最小生成树 prim
- POJ 2253 Frogger (最小生成树.Prim)
- POJ1251—最小生成树问题的Prim实现
- poj 2377-prim(最小生成树的最大边权的和)
- poj 2560最小生成树 prim