C++心路历程
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 33, comments - 25, trackbacks - 0
ZOJ 1406 解题报告
Prim算法
.
Code
1
#include
<
iostream
>
2
using
namespace
std;
3
4
const
int
N
=
28
;
5
const
int
UNLINK
=
0x7fffffff
;
6
int
g[N][N];
7
int
weight[N];
8
bool
visited[N];
9
10
int
_tmain(
int
argc, _TCHAR
*
argv[])
11
{
12
int
vertex, t_vertex;
13
while
(cin
>>
t_vertex
&&
t_vertex
!=
0
)
14
{
15
vertex
=
t_vertex;
16
memset(visited,
false
,
sizeof
(visited));
17
18
for
(
int
i
=
0
; i
<
vertex;
++
i)
19
{
20
weight[i]
=
UNLINK;
21
for
(
int
j
=
0
; j
<
vertex;
++
j)
22
{
23
g[i][j]
=
UNLINK;
24
}
25
}
26
27
char
v;
28
int
num, t_num;
29
while
(
--
t_vertex)
30
{
31
cin
>>
v
>>
t_num;
32
num
=
t_num;
33
34
char
vl;
35
int
edge;
36
while
(t_num
--
)
37
{
38
cin
>>
vl
>>
edge;
39
g[(
int
)(v
-
'
A
'
)][(
int
)(vl
-
'
A
'
)]
=
edge;
40
g[(
int
)(vl
-
'
A
'
)][(
int
)(v
-
'
A
'
)]
=
edge;
41
}
42
}
43
44
for
(
int
i
=
0
; i
<
vertex;
++
i)
45
{
46
weight[i]
=
g[
0
][i];
47
}
48
visited[
0
]
=
true
;
49
int
min(UNLINK), nearest(
-
1
), total_weight(
0
);
50
51
for
(
int
i
=
0
; i
<
vertex;
++
i)
52
{
53
min
=
UNLINK;
54
nearest
=
-
1
;
55
for
(
int
j
=
0
; j
<
vertex;
++
j)
56
{
57
if
(min
>
weight[j]
&&
!
visited[j])
58
{
59
min
=
weight[j];
60
nearest
=
j;
61
}
62
}
63
visited[nearest]
=
true
;
64
total_weight
+=
weight[nearest];
65
66
for
(
int
j
=
0
; j
<
vertex;
++
j)
67
{
68
if
(g[nearest][j]
<
weight[j])
69
{
70
weight[j]
=
g[nearest][j];
71
}
72
}
73
}
74
75
cout
<<
total_weight
<<
endl;
76
}
77
return
0
;
78
}
79
80
posted on 2009-04-10 22:41
肖羽思
阅读(822)
评论(0)
编辑
收藏
引用
所属分类:
ZOJ
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
ZOJ 1813 解题报告
ZOJ 1406 解题报告
ZOJ 1350 解题报告
ZOJ 1249 解题思路
ZOJ 1151 解题报告
ZOJ 1113 解题报告
ZOJ 1059 解题报告
ZOJ 1057 解题报告
ZOJ 1210 解题报告
ZOJ 1160 解题报告
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2012年5月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
POJ(4)
ZOJ(29)
随笔档案
2009年4月 (10)
2009年3月 (23)
文章分类
POJ(1)
ZOJ(1)
文章档案
2009年3月 (2)
搜索
最新评论
1. re: ZOJ 1059 解题报告
让人
--让人
2. re: POJ 1753 解题报告
LZ的位运算计算法果然比我的普通方法快很多啊!!!
感谢分享!!!
--hacker003
3. re: POJ 1753 解题报告
这算法好像有冗余吧
FlipPiece(6585,0)=6570之后就不用FlipPiece(6570,0)了吧
--yangyh
4. re: POJ 1517 解题报告
这样的话不是每一次都要重复计算阶乘的么?很浪费时间的。。。。
--WayneWu
5. re: POJ 2965 解题报告
@Tanky Woo
你说的不对,你根本没看楼主的算法,结果必定为1
--刘灏
阅读排行榜
1. POJ 1753 解题报告(4999)
2. POJ 2965 解题报告(3721)
3. ZOJ 1204 解题报告(2129)
4. ZOJ 1004 解题报告(1901)
5. ZOJ 1091 解题报告(1320)
评论排行榜
1. POJ 1753 解题报告(8)
2. POJ 2965 解题报告(8)
3. ZOJ 1004 解题报告(2)
4. ZOJ 1210 解题报告(2)
5. ZOJ 1059 解题报告(1)