HDU 1857 (prim+平面坐标+题意理解)
来源:互联网 发布:淘宝买家秀福利木耳 编辑:程序博客网 时间:2024/04/30 05:17
汉语题:http://acm.hdu.edu.cn/showproblem.php?pid=1875
题意很容易想多。其实直接暴力。发现了一个存在独立边判断情况。在prim中加一个flag。
#include<cstdio>#include<cstring>#include<cmath>class Node{public: double x,y;}edge[110];double gragh[110][110];;double dis[110];int n,visit[110];double ans;double distance(double x1,double y1,double x2,double y2){ double dx = x1 - x2; double dy = y1 - y2; return sqrt(dx*dx+dy*dy);}int prim(){ for(int i = 1;i <= n; i++) dis[i] = gragh[1][i]; memset(visit,0,sizeof(visit)); for(int i = 1;i < n; i++){ double Min = 99999999; int pos,flag = true; for(int j = 2;j<= n; j++){ if(visit[j] == 0 && dis[j] < Min){ Min = dis[j]; pos = j; flag = false; } } if(flag) return 0; visit[pos] = true; for(int j = 1;j <= n; j++){ if(visit[j] == 0 && dis[j] > gragh[pos][j]) dis[j] = gragh[pos][j]; } } for(int i = 2;i <= n; i++) if(dis[i] == 99999999) return 0; else ans += dis[i]; return 1;}int main(){ //freopen("in.txt","r",stdin); int ncase; scanf("%d",&ncase); while(ncase--){ scanf("%d",&n); for(int i = 1;i <= n; i++) scanf("%lf%lf",&edge[i].x,&edge[i].y); for(int i = 1;i <= n; i++){ for(int j = 1;j <= n; j++){ double d = distance(edge[i].x,edge[i].y,edge[j].x,edge[j].y); if(d >= 10 && d <= 1000) gragh[i][j] = gragh[j][i] = d; else gragh[i][j] = gragh[j][i] = 99999999; } } ans = 0; if(prim()) printf("%.1f\n",ans*100); else printf("oh!\n"); } return 0;}
0 0
- HDU 1857 (prim+平面坐标+题意理解)
- hdu 产生冠军(充分理解题意)
- 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
- 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
- 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
- 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
- HDU 4998 Rotate 平面坐标变换
- 平面坐标转大地坐标(经纬度)
- UVA10300(理解题意就容易切)
- 韩信点兵(开始题意理解错误)
- HDU 2526 题意不好理解,用到滚动数组
- HDOJ(HDU) 2178 猜数字(题意有点难理解、、、)
- hdu 2112 (题意是错的)
- 【待整理】世界坐标,相机坐标,图像坐标(像平面坐标,像素坐标)
- 项目三(平面坐标点类)
- test9-4(平面坐标点类)
- hdu 3371 (Prim)
- 平面坐标(方里网)转换为经纬度坐标
- 数据库优化之读写分离
- Unity Shader学习之相关知识搜集
- 一个平庸者的自述
- 基于平均背景建模的运动目标检测
- RabbitMQ之window环境启动
- HDU 1857 (prim+平面坐标+题意理解)
- 一道面试题深入了解java底层
- Android Studio Git .gitignore规则及使用方法
- Android 的cpu 硬盘 内存 网络设置 系统信息 硬件信息
- 职业计划
- 在ALV中加入OLE报表
- 23种设计模式
- CSS 关于nth-child和nth-of-type
- Win10卸载OneDrive的方法