HDU 2122
来源:互联网 发布:淘宝怎么举报卖家假货 编辑:程序博客网 时间:2024/06/13 04:54
思路:prime,考虑重边!!!
#include<stdio.h>#include<string.h>int map[1001][1001],dist[1001];int vis[1001],n;void init1(){ int i,j; for(i = 0;i < n;i ++) { for(j = 0;j < n;j ++) { if(i != j) map[i][j] = 1 << 30; } }}void init2(){ int i; memset(vis,0,sizeof(vis)); for(i = 0;i < n;i ++) dist[i] = map[0][i];}int main(){ int m,i,j,k,cnt; int min,len,sum,a,b; while(~scanf("%d%d",&n,&m)) { init1(); sum = cnt = 0; while(m--) { scanf("%d%d%d",&a,&b,&len); if(len < map[a][b]) map[a][b] = map[b][a] = len; } init2(); vis[0] = 1; for(i = 0;i < n;i ++) { min = 1 << 30; for(j = 0;j < n;j ++) { if(!vis[j] && min > dist[j]) { min = dist[j]; k = j; } } vis[k] = 1; if(min != 1 << 30) { cnt++; sum += min; } for(j = 0;j < n;j ++) { if(!vis[j] && dist[j] > map[k][j]) dist[j] = map[k][j]; } } if(cnt == n-1) printf("%d\n\n",sum); else printf("impossible\n\n"); } return 0;}
0 0
- hdu 2122
- HDU 2122
- hdu 2122
- Hdu 2122
- HDU—2122HDU Today(Dijsktra)
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- HDOJ 1879
- A*算法的寻路中的应用——无阻挡
- HDOJ 1233
- HDU 2682
- HDOJ 1863
- HDU 2122
- POJ 1182
- HDU 2544
- POJ 1062
- 学习zigbee入门-11
- HDOJ 1874
- Color the ball HDOJ--1556
- C 语言 ----位运算
- Color the ball----HDOJ1556