HDOJ 1879
来源:互联网 发布:淘宝怎么举报卖家假货 编辑:程序博客网 时间:2024/06/06 10:55
思路:求最小生成树(最小生成树就是权值之和最小的极小连通子图) ,注意将已修过的边的权值置为0;
数据结构:由于数据量小,可以用临接矩阵直接存储图
#include<stdio.h>#include<string.h>int vis[101];int price[101];int map[101][101];void init(int n){ int i; memset(vis,0,sizeof(vis)); for(i = 1;i <= n;i ++) price[i] = map[1][i];}int main(){ int i,j,k,n; int min,a,b,c,d,sum; while(~scanf("%d",&n) && n) { sum = 0; for(i = 0;i < (n*(n-1))/2;i ++) { scanf("%d%d%d%d",&a,&b,&c,&d); map[b][a] = map[a][b] = c; if(d) map[b][a] = map[a][b] = 0; } init(n); vis[1] = 1; for(i = 0;i < n;i ++) { k = 0; min = 1 << 30; for(j = 1;j <= n;j ++) { if(!vis[j] && min > price[j]) { min = price[j]; k = j; } } if(min != 1 << 30) sum += min; vis[k] = 1; for(j = 1;j <= n;j ++) { if(!vis[j] && price[j] > map[k][j]) price[j] = map[k][j]; } } printf("%d\n",sum); } return 0;}
0 0
- HDOJ 1879
- HDOJ 1879
- hdu 1879 hdoj 1879
- HDOJ
- hdoj
- hdoj
- HDOJ
- HDOJ-1879继续畅通工程
- HDOJ 1879 继续畅通工程
- HDOJ 1879 继续畅通工程
- HDOJ 1879 继续畅通工程
- hdoj-1879-继续畅通工程
- hdoj 1879 继续畅通工程
- HDOJ--1879--继续畅通工程
- HDOJ 1879 继续畅通工程
- hdoj 1879继续畅通工程
- hdoj-1879-继续畅通工程
- HDOJ-1879 继续畅通工程
- 回文字符串
- HDU 1285
- HDU 3342
- HDU 2647
- HDU 1881
- HDOJ 1879
- A*算法的寻路中的应用——无阻挡
- HDOJ 1233
- HDU 2682
- HDOJ 1863
- HDU 2122
- POJ 1182
- HDU 2544
- POJ 1062