uva 10034 Problem A: Freckles
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=975
最小生成树。
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <algorithm> 5 #define maxn 1000 6 using namespace std; 7 const double inf=(double)(1<<29); 8 9 int t,n; 10 struct node 11 { 12 double x,y; 13 }p[maxn]; 14 bool vis[maxn]; 15 double dis[maxn]; 16 double g[maxn][maxn]; 17 double ans; 18 19 double sqr(double x) 20 { 21 return x*x; 22 } 23 24 void prim() 25 { 26 memset(vis,false,sizeof(vis)); 27 for(int i=1; i<=n; i++) dis[i]=g[1][i]; 28 dis[1]=0; 29 vis[1]=true; 30 for(int i=1; i<n; i++) 31 { 32 double m=inf; 33 int x; 34 for(int y=1; y<=n; y++) if(!vis[y]&&dis[y]<m) m=dis[x=y]; 35 ans+=m; 36 vis[x]=true; 37 for(int y=1; y<=n; y++) if(!vis[y]&&dis[y]>g[x][y]) dis[y]=g[x][y]; 38 } 39 } 40 41 int main() 42 { 43 scanf("%d",&t); 44 while(t--) 45 { 46 scanf("%d",&n); 47 for(int i=1; i<=n; i++) 48 { 49 scanf("%lf%lf",&p[i].x,&p[i].y); 50 } 51 for(int i=1; i<=n; i++) 52 { 53 for(int j=i; j<=n; j++) 54 { 55 if(i==j) g[i][j]=0; 56 else 57 g[i][j]=g[j][i]=sqrt(sqr(p[i].x-p[j].x)+sqr(p[i].y-p[j].y)); 58 } 59 } 60 ans=0; 61 prim(); 62 printf("%.2lf\n",ans); 63 if(t) printf("\n"); 64 } 65 return 0; 66 }
View Code
转载于:https://www.cnblogs.com/fanminghui/p/4022851.html
uva 10034 Problem A: Freckles相关推荐
- uva 10034 Freckles (kruskal||prim)
题目上仅仅给的坐标,没有给出来边的长度,不管是prim算法还是kruskal算法我们都须要知道边的长度来操作. 这道题是浮点数,也没啥大的差别,处理一下就能够了. 有关这两个算法的介绍前面我已经写过了 ...
- UVa 1531 - Problem Bee
题目:如图所看到的的蜂巢型的图中.蜜蜂想从A点飞到B点,假设A与B不在同一个正六边形中, 则它先飞到A的中心.每次飞到相邻格子的中心,最后飞到B的中心,再飞到B点: 假设在一个格子中.直接飞过去就可以 ...
- PC/UVa 题号: 110106/10033 Interpreter (解释器)题解 c语言版
学到两个: //ignore \n cin.ignore(); //ignore a line cin.ignore(1024, '\n'); #include<cstdio> #incl ...
- UVA 12235 Help Bubu
状态压缩DP 题意: 书架上有n本书,给出一个书的高度的序列,我们把相邻的高度相同的书看成一个片段,并且定义该书架的混乱程度为片段的个数.为整理书架,你最多可以从中拿出k本书,然后再把他们插回书架(其 ...
- UVa 1471 Defense Lines - 线段树 - 离散化
题意是说给一个序列,删掉其中一段连续的子序列(貌似可以为空),使得新的序列中最长的连续递增子序列最长. 网上似乎最多的做法是二分查找优化,然而不会,只会值域线段树和离散化... 先预处理出所有的点所能 ...
- UVa 12627 Erratic Expansion - 分治
因为不好复制题目,就出给出链接吧: Vjudge传送门[here] UVa传送门[here] 请仔细看原题上的那幅图,你会发现,在时间t(t > 0),当前的气球构成的一幅图,它是由三个时间为( ...
- Spreading the Wealth( UVA - 11300)
题目链接: Spreading the Wealth UVA - 11300 Problem A Communist regime is trying to redistribute wealth i ...
- π-Algorithmist分类题目(3)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...
- π-Algorithmist分类题目(2)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(2) Set Theory U ...
- sicily题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
最新文章
- java中debug使用
- hql中获取前一天的数据_PostgreSql 怎么获取数据库中关键系统信息(一)
- Java 的Tuple(类似.net等的元组)
- Reporting Services 的伸缩性和性能表现规划(转载)
- 哪里可以学3D次世代角色建模?具体学什么东西?
- ubuntu下nginx安装
- Jquery和angularjs获取check框选中的值小技巧
- 利用python炒股talib_TaLib在股票技术分析中的应用
- iPhone屏幕尺寸和分辨率
- 软件测试 白盒测试用例设计方法动态 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)基本路径测试法
- vab EXCEL 日历制作
- linux点击桌面图标无反应,电脑点击图标没反应怎么回事
- [项目管理] 项目管理之配置管理
- Flutter InAppWebView 软键盘问题
- python访问陌生人qq空间_用Python登录好友QQ空间点赞
- 捣鼓openwrt不死bootloader (1)
- 搜狗2020校招(后端)笔试第一场
- 构成社群的五要素,你了解吗?
- EasyExcel基础使用教程
- English Learning - Day6 作业打卡 2022.12.12 周一