标签:mst getch cep ide log end iss blog --
Time Limit: 3000MS | Memory Limit: 30000K | |
Total Submissions: 39963 | Accepted: 10507 |
Description
Input
Output
Sample Input
1 3 3 1 2 3 1 3 4 2 3 5
Sample Output
Scenario #1: 4
Source
1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 using namespace std; 5 const int MAX=1005; 6 int t; 7 int n,m,cas; 8 int fa[MAX]; 9 struct Edge{ 10 int u,v; 11 int w; 12 bool operator < (const Edge &tt) const { 13 return w>tt.w; 14 } 15 }edge[MAX*MAX]; 16 int getfather(int x){ 17 if (fa[x]==x) return x; 18 return fa[x]=getfather(fa[x]); 19 } 20 inline int read(){ 21 int an=0,x=1;char c=getchar(); 22 while (c<‘0‘ || c>‘9‘) {if (x==‘-‘) x=-1;c=getchar();} 23 while (c>=‘0‘ && c<=‘9‘) {an=an*10+c-‘0‘;c=getchar();} 24 return an*x; 25 } 26 int main(){ 27 freopen ("heavy.in","r",stdin); 28 freopen ("heavy.out","w",stdout); 29 int i,j,an; 30 t=read(); 31 while (t--){ 32 n=read(),m=read();an=1000000005; 33 for (i=1;i<=m;i++){ 34 edge[i].u=read(); 35 edge[i].v=read(); 36 edge[i].w=read(); 37 } 38 sort(edge+1,edge+m+1); 39 for (i=1;i<=n;i++) fa[i]=i; 40 for (i=1;i<=m;i++){ 41 int dx=getfather(edge[i].u); 42 int dy=getfather(edge[i].v); 43 if (getfather(1)!=getfather(n)){ 44 an=edge[i].w; 45 fa[dx]=dy; 46 } 47 else break; 48 } 49 printf("Scenario #%d:\n%d\n\n",++cas,an); 50 } 51 return 0; 52 }
POJ-1797 Heavy Transportation(最大生成树)
标签:mst getch cep ide log end iss blog --
原文地址:http://www.cnblogs.com/keximeiruguo/p/7583588.html