POJ 1258 Agri-Net(最小生成树Prim算法)
来源:互联网 发布:js prompt多个输入 编辑:程序博客网 时间:2024/05/16 17:01
//// main.cpp// Richard//// Created by 邵金杰 on 16/8/17.// Copyright © 2016年 邵金杰. All rights reserved.//#include<iostream>#include<cstdio>#include<vector>#include<queue>#include<algorithm>#include<cstring>using namespace std;struct edge{ int v,w; edge(int v,int w): v(v),w(w) {} bool operator < (const edge p) const { return w>p.w; }};const int INF=100000000;int vis[110],dist[110];vector<vector<edge> > G(110);int HeapPrime(int n){ memset(vis,0,sizeof(vis)); priority_queue<edge> pq; for(int i=0;i<n;i++) dist[i]=INF; pq.push(edge(0,0)); int nCount=0; int mindist=0; while(nCount<n&&!pq.empty()) { edge nd(0,0); do{ nd=pq.top();pq.pop(); }while(vis[nd.v]==1&&!pq.empty()); if(vis[nd.v]==0) { vis[nd.v]=1; nCount++; mindist+=nd.w; for(int i=0;i<G[nd.v].size();i++) { int v=G[nd.v][i].v; if(vis[v]==0) { int w=G[nd.v][i].w; if(dist[v]>w){ dist[v]=w; pq.push(edge(v,w)); } } } } } if(nCount<n) return -1; return mindist;}int main(){ int n,w; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) G[i].clear(); for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { scanf("%d",&w); G[i].push_back(edge(j,w)); } } printf("%d\n",HeapPrime(n)); } return 0;}
0 0
- POJ 1258-Agri Net 最小生成树Prim算法
- POJ 1258 Agri-Net 图论 prim算法 最小生成树
- POJ 1258 Agri-Net(最小生成树prim算法)
- 【最小生成树之prim算法】POJ-1258---Agri-Net
- poj-1258 Agri-Net(最小生成树 Prim算法)
- POJ 1258 Agri-Net 最小生成树 Prim算法
- POJ 1258 Agri-Net 最小生成树 Prim算法
- POJ 1258 Agri-Net(最小生成树prim算法)
- POJ 1258 Agri-Net 最小生成树 Prim 算法
- poj 1258 Agri-Net prim算法 最小生成树
- POJ 1258 Agri-Net(最小生成树Prim算法)
- poj Agri-Net 最小生成树 prim 算法
- poj 1258Agri-Net-最小生成树prim
- Poj 1258 Agri-Net (最小生成树Prim & Kruskal)
- POJ 1258 Agri-Net 最小生成树 Prim
- poj 1258 Agri-Net(prim求最小生成树)
- POJ 1258:Agri-Net(最小生成树&&prim)
- POJ 1258-Agri-Net(最小生成树prim)
- 剑指offer-孩子们的游戏(圆圈中最后剩下的数)
- 数据结构实验之图论六:村村通公路
- 多个数的简易计算器
- 开始我的php学习(复习之前的知识),找到好工作!
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- POJ 1258 Agri-Net(最小生成树Prim算法)
- WCF服务自托管(Self-Hosting)
- Java中Scanner类和BufferReader类的区别
- Android Studio真机调试问题
- Android数据库安全解决方案,使用SQLCipher
- [HDU 5845] Best Division (xor-trie+dp)
- Java6中与Synchronized相关的锁机制
- windows和linux删除指定目录及其该目录下的文件
- 掌阅Android App插件补丁实践(ZeusPlugin)