HDU 1162 Eddy's picture MST(基础)
来源:互联网 发布:什么是淘宝众筹 编辑:程序博客网 时间:2024/04/27 23:50
点击打开链接
Eddy's picture
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5539 Accepted Submission(s): 2776
Problem Description
Eddy begins to like painting pictures recently ,he is sure of himself to become a painter.Every day Eddy draws pictures in his small room, and he usually puts out his newest pictures to let his friends appreciate. but the result it can be imagined, the friends are not interested in his picture.Eddy feels very puzzled,in order to change all friends 's view to his technical of painting pictures ,so Eddy creates a problem for the his friends of you.
Problem descriptions as follows: Given you some coordinates pionts on a drawing paper, every point links with the ink with the straight line, causes all points finally to link in the same place. How many distants does your duty discover the shortest length which the ink draws?
Problem descriptions as follows: Given you some coordinates pionts on a drawing paper, every point links with the ink with the straight line, causes all points finally to link in the same place. How many distants does your duty discover the shortest length which the ink draws?
Input
The first line contains 0 < n <= 100, the number of point. For each point, a line follows; each following line contains two real numbers indicating the (x,y) coordinates of the point.
Input contains multiple test cases. Process to the end of file.
Input contains multiple test cases. Process to the end of file.
Output
Your program prints a single real number to two decimal places: the minimum total length of ink lines that can connect all the points.
Sample Input
31.0 1.02.0 2.02.0 4.0
Sample Output
3.41
Author
eddy
Recommend
JGShining
最小生成树简单题。
#include<stdio.h>#include<string.h>#include<math.h>#define inf 0x3f3f3fdouble g[107][107];double x[107],y[107],pri[107];bool vis[107];int n;void prime(){ int id; double minn,count=0; memset(vis,false,sizeof(vis)); for(int i=1; i<=n; i++) pri[i]=g[1][i]; vis[1]=true; for(int i=2; i<=n; i++) { minn=inf; for(int j=2; j<=n; j++) if(minn>pri[j]&&!vis[j]) { minn=pri[j]; id=j; } vis[id]=true; count+=minn; for(int j=2; j<=n; j++) if(!vis[j]&&pri[j]>g[j][id]) pri[j]=g[j][id]; } printf("%.2f\n",count);}int main(){ while(scanf("%d",&n)!=EOF) { for(int i=1; i<=n; i++) scanf("%lf%lf",&x[i],&y[i]); for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) { double tmp_x,tmp_y,tmp; tmp_x=(x[j]-x[i])*(x[j]-x[i]); tmp_y=(y[j]-y[i])*(y[j]-y[i]); tmp=sqrt(tmp_x+tmp_y); g[i][j]=g[j][i]=tmp; //printf("aaaffh%lf\n",tmp); } prime(); } return 0;}
- HDU 1162 Eddy's picture MST(基础)
- HDU 1162 Eddy's picture(MST)
- hdu 1162 Eddy's picture(基础最小生成树)
- Hud 1162 Eddy's picture[MST(kruscal)]
- HDU 1162Eddy's picture(prim)
- Hdu-1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- Hdu 1162 - Eddy's picture
- hdu 1162 Eddy's picture
- HDU 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- HDU 1162 Eddy's picture
- hdu-1162-Eddy's picture
- hdu 1162 Eddy's picture
- HDU 2199 Can you solve this equation?
- Java AIO初探(异步网络IO)
- 关于Debug和Release之本质区别的讨论
- Number Sequence hdu 1711
- 组合-组合数求法
- HDU 1162 Eddy's picture MST(基础)
- jrtplib+jthread 交叉编译
- jbpm4之Business Calendar使用
- java数据库设计中的14个技巧
- 组合-字典序打印所有排列
- OpenCV播放视频 1加上滚动条 2加随视频播放自动滚动的滚动条
- 如果只用if的话 那么if里边必须要立即结束!!保证不经历后边的语句!!!
- Dialog_xml制作——博客地址
- spring mvc + 表单异步验证插件 Validate.form.js