51nod 1212

来源:互联网 发布:灯光照明设计 知乎 编辑:程序博客网 时间:2024/06/07 23:47
include <bits/stdc++.h>#define INF 123456using namespace std;const int MAXN = 5e4+666;int n,m;int vis[MAXN];int mp[1200][1200];int dist[MAXN],sum;int prime(int cur){    int index,mincost;    sum = 0;    memset(vis, false, sizeof(vis));    vis[cur] = true;    for(int i = 1; i <= m; i ++){        dist[i] = mp[cur][i];        }    for(int i = 1; i <= m; i++){           mincost = INF;        for(int j = 1; j <= m; j ++){            if(!vis[j] && dist[j] < mincost){                mincost = dist[index = j];             }            }        if(mincost == INF) break;        //cout<<mincost<<endl;        vis[index] = true;        sum += mincost;                for(int j = 1; j <= m; j ++){            if(!vis[j] && dist[j] > mp[index][j]){                dist[j] = mp[index][j];            }            }        }     return sum;    }int main(){cin>>m>>n;int l,r,w;memset(mp,INF,sizeof(mp));  //woc,就因为这一句话搞了半天不知道怎么回事!!!!for(int i=0;i<n;i++){cin>>l>>r>>w;if(w<mp[l][r])mp[l][r] = mp[r][l] =  w;}int ans = prime(1);cout<<ans<<endl;return 0;}