1751 Highways 解题报告 2
来源:互联网 发布:软件企业评估减税 编辑:程序博客网 时间:2024/05/21 09:48
AccecptTime: 2008-12-22 11:19:49
Language: C++
Memory: 2424K
Time: 94MS
Errors: No
Algorithm: Prim
- #include <stdio.h>
- #include <memory.h>
- #include <algorithm>
- #include <iostream>
- using namespace std;
- // 最大值
- #define INF 99999999
- #define len(i,j) ((i)*(i) + (j)*(j))
- // 最多的边数
- #define N 751
- // 路径储存
- int road[N][N];
- int main()
- {
- int n,m,count;
- int i,j,k,l;
- int mink,min,res;
- scanf("%d",&n);
- int x[N],y[N];
- for(i = 1; i <= n; i++)
- scanf("%d%d",&x[i],&y[i]);
- for( i = 1; i <= n; i++)
- for(j = 1; j <= n; j++)
- if(i == j)
- road[i][j] = -1;
- else
- road[i][j] = road[j][i] = len(x[i] - x[j],y[i] - y[j]);
- scanf("%d",&m);
- int u,v;
- for(i = 0; i < m;i++) {
- scanf("%d%d",&u,&v);
- road[v][u] = road[u][v] = 0;
- }
- //Prim最小生成树
- res = 0;
- int lesscost[N];
- //用于记录边的源节点
- int ori[N];
- for(i = 1; i <= n;i++) {
- lesscost[i] = road[1][i];
- ori[i] = 1;
- }
- for( i = 1; i < n ;i++) {
- min = INF;
- for(j = 1; j <= n; j++)
- if(lesscost[j] >= 0 && lesscost[j] < min) {
- min = lesscost[j];
- mink = j;
- }
- if(min > 0)
- printf("%d %d/n",ori[mink],mink);
- // 将刚加入集合的节点的所有边和现有边做一个比较,保留小的边
- for(j = 1; j <= n;j++)
- if(lesscost[j] > road[mink][j]) {
- lesscost[j] = road[mink][j];
- ori[j] = mink;
- }
- }
- }
经过波波思想的洗礼,我决定用Prim将那些"应该用Prim的题目"再做一遍,果然,Prim太强大了...只用了94MS,比之前用Kruskal快了3倍...我开始怀疑自己的Kruskal是否已经足够强了.
- 1751 Highways 解题报告 2
- 1751 Highways 解题报告
- 2485 Highways 解题报告 2
- 2485 Highways 解题报告
- POJ - 2485 Highways解题报告
- 2011.11.1 poj2485 Highways 解题报告
- C - Highways解题报告(吴忠健)
- Uva 1393 - Highways 解题报告(递推)
- Pku acm 2485 Highways数据结构题目解题报告(三) ----最小生成树:prim算法
- 解题报告2
- 解题报告2
- 解题报告2
- POJ 2485 highways解题报告(最小生成树)(应用prim和Kruskal两种方法)(c++)
- 2SAT问题解题报告
- 数论基础训练(2)-解题报告
- HDU 1.1.2解题报告
- HDU 1.2.2解题报告
- poj1753解题报告(2):BFS
- 7zip 文件高效压缩 解压
- SQL Server中游标加锁技术应用:获取唯一编号
- 推开云端计算的视窗——微软互联系统部门全球副总裁Robert Wahbe揭秘Azure服务平台
- -bash: /bin/rm: Argument list too long :
- vc++ string处理大全
- 1751 Highways 解题报告 2
- 关于window script component(简称wsc)的装入效率测试。
- 写程序时如何提高效率
- 找回任务栏的显示桌面
- 对 SQL Server 2005 Analysis Services 的 HTTP 访问
- 在 HTML 与 JSP 中 怎么才能在 if 条件中 跳转页面 并且显示到对应页面的 里的话
- OLAP的基本多维分析操作
- IList、ICollection、IEnumerable 之辨析
- 绑定用户控件button事件