poj 1258(prim模板題)

來源:互聯網
上載者:User

代碼留存:

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<set>#include<cmath>#include<queue>using namespace std;typedef long long LL;typedef pair<int,int> P;const int maxn = 100 + 5;const int INF = 1000000000;int M[maxn][maxn];int n;priority_queue<P,vector<P>,greater<P> > Q;int vis[maxn];int prim(){    int ret = 0;    memset(vis,0,sizeof(vis));    while(!Q.empty()) Q.pop();    Q.push(P(0,0));    while(!Q.empty()){        P p = Q.top();Q.pop();        if(vis[p.second] == 1) continue;        vis[p.second] = 1;        ret += p.first;        for(int i = 0;i < n;i++){            if(vis[i] == 0){                Q.push(P(M[p.second][i],i));            }        }    }    return ret;}/*int mincost[maxn];bool used[maxn];int prim(){    for(int i = 0;i < n;i++){        mincost[i] = INF;        used[i] = false;    }    mincost[0] = 0;    int res = 0;    while(1){        int v = -1;        for(int u = 0;u < n;u++){            if(!used[u] && (v==-1 || mincost[u] < mincost[v])) v = u;        }        if(v == -1) break;        used[v] = true;        res += mincost[v];        for(int u = 0;u < n;u++){            mincost[u] = min(mincost[u],M[v][u]);        }    }    return res;}*/int main(){    while(scanf("%d",&n) != EOF){        for(int i = 0;i < n;i++){            for(int j = 0;j < n;j++){                scanf("%d",&M[i][j]);            }        }        printf("%d\n",prim());    }    return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.