Minimum spanning tree
------------------------------------------------------------------------------------------------
| System | CentOS Linux release 6.0 (Final)
------------------------------------------------------------------------------------------------
| Cimpiler | gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)
------------------------------------------------------------------------------------------------
HDU 1233 的解题主要的逻辑:
int n;
while(scanf("%d", &n) && n)
{
int m = n*(n-1)/2;
memset(city, -1, sizeof(city));
for(int i=0; i<m; ++i)
scanf("%d %d %d", &road[i].c1, &road[i].c2, &road[i].cost);
sort(road, road+m, myCompare);
int sum = 0, count = 0;
for(int i=0; i<m; ++i)
{
if(Merge(road[i].c1, road[i].c2))
{
count ++;
sum += road[i].cost;
}
if(count == n-1)
break;
}
printf("%d\n", sum);