1006
Posted Si考者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1006相关的知识,希望对你有一定的参考价值。
题意:
给出城市以及之间的权值,求最小生成树
思路:prim算法即可
代码:
#include<iostream> #include<algorithm> using namespace std; char p[1000]; int n,k; struct road { char s,e; int w; }r[1000]; bool cmp(road a,road b) { return a.w<b.w; } char find(char x) { return p[x]==x?x:p[x]=find(p[x]); } int kru() { int sum=0; for(int i=0;i<k;i++) { char x=find(r[i].s),y=find(r[i].e); if(x!=y) { p[x]=y; sum+=r[i].w; } } return sum; } int main() { while(cin>>n&&n) { char rs,re; int m,rw; k=0; n--; while(n--) { cin>>rs>>m; while(m--) { cin>>re>>rw; r[k].s=rs; r[k].e=re; r[k].w=rw; k++; } } for(char i=‘A‘;i<=‘Z‘;i++) p[i]=i; sort(r,r+k,cmp); cout<<kru()<<endl; } return 0; }
以上是关于1006的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat WebSocket 连接关闭,代码:1006 问题
角度 SignalR 经常断开连接并显示错误状态代码 1006