Hoj 1811 Freckles
来源:互联网 发布:ios9.3.3完美越狱mac 编辑:程序博客网 时间:2024/06/05 16:24
最小生成树。Prim。
题目连接:http://acm.hit.edu.cn/hoj/problem/view?id=1811
对于Double min的初始化,0x7f起不到预期的效果.赋一个相对大的数即可-10000
#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#include <math.h>#include <algorithm>using namespace std;double map[200][200];double dist[200];int visited[200];struct Point{ double x; double y;};Point p[200];int main(){#ifndef ONLINE_JUDGE freopen("in.txt","r",stdin);#endif int n; while(scanf(" %d",&n)!=EOF) { for(int i=0; i<n; i++) { scanf(" %lf %lf",&p[i].x,&p[i].y); } memset(map,0,sizeof(map)); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { map[i][j] = sqrt((p[i].x - p[j].x) * (p[i].x - p[j].x) + (p[i].y - p[j].y) * (p[i].y - p[j].y)); } } memset(dist,0x7f,sizeof(dist)); memset(visited,0,sizeof(visited)); dist[0] = 0; double sum = 0; for(int i=0; i<n; i++) { int k = 0; double min = 100000;//this for(int j=0; j<n; j++) { if(visited[j] == 0 && dist[j]<min) { min = dist[j]; k = j; } } visited[k] = 1; sum += min; for(int j = 0; j<n; j++) { if(dist[j] > map[k][j]) { dist[j] = map[k][j]; } } } printf("%.2lf\n",sum); } return 0;}
- Hoj 1811 Freckles
- HOJ 1811 Freckles (Prim 最小生成树)
- Freckles
- Freckles
- HOJ
- HOJ 1811 最小生成树
- poj_2560 Freckles
- poj_2560 Freckles
- uva10034 - Freckles
- POJ2560--Freckles
- UVa10034 Freckles
- 10034 - Freckles
- OJ_1144 Freckles
- UVa10034 Freckles
- uva10034 Freckles
- 10034 Freckles
- UVa 10034 Freckles
- UVa 10034 Freckles
- Linux-chmod
- JAX-WS一个很简单的RPC风格的Web Service同步调用
- 导出table和chart数据到pdf文件
- Effective Java读书笔记、感悟——3.类和接口(一)
- Java Exception
- Hoj 1811 Freckles
- [Violet 2]棒球 (求两分数间分母最小的分数)
- 初识三层
- 计算机考研FAQ18答
- 转:7种JS脚本分页代码 showPages v1.0
- CF 271D Good Substrings(trie树)
- ArcGIS Silverlight API 扩展:将GraphicsLayer/FeatureLayer导出为ShapeFile
- 关于Java多态性的两个特殊情况
- 解决ActiveX控件安装问题的技巧