标签:des blog io ar os sp for strong div
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 41230 | Accepted: 16810 |
Description
Input
Output
Sample Input
4 0 4 9 21 4 0 8 17 9 8 0 16 21 17 16 0
Sample Output
28
#include <cstdio> #include<cstring> #include <queue> #include <assert.h> using namespace std; int blen; int d[102][102]; int n; bool vis[102]; typedef pair<int,int> P; int prim(){ memset(vis,0,sizeof(vis)); priority_queue<P,vector<P>,greater<P> >que; int num=1; int ans=0; for(int i=1;i<n;i++){ que.push(P(d[0][i],i)); } vis[0]=true; while(num<n&&!que.empty()){ int t=que.top().second; int td=que.top().first; que.pop(); if(vis[t])continue; vis[t]=true; ans+=td; num++; for(int i=0;i<n;i++){ if(!vis[i]){ que.push(P(d[t][i],i)); } } } return ans; } int main(){ while(scanf("%d",&n)==1){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%d",d[i]+j); } } int ans=prim(); printf("%d\n",ans); } return 0; }
poj 1258 Agri-Net 最小生成树 prim算法+heap不完全优化
标签:des blog io ar os sp for strong div
原文地址:http://www.cnblogs.com/xuesu/p/4093930.html