Yiner的ACM
成长的痕迹
C++博客
首页
新随笔
联系
聚合
管理
<
2011年5月
>
日
一
二
三
四
五
六
24
25
26
27
28
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
统计
随笔 - 29
文章 - 0
评论 - 2
引用 - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
DFS(1)
(rss)
DP(2)
(rss)
并查集(8)
(rss)
母函数(4)
(rss)
数论
(rss)
算法导论学习(1)
(rss)
随想
(rss)
随笔档案
2011年5月 (1)
2011年4月 (6)
2011年3月 (18)
2011年2月 (4)
搜索
最新评论
1. re: http://acm.hdu.edu.cn/discuss/public/post/reply.php?postid=2413&messageid=1&deep=0
rewrewr
--dsa
2. re: 约瑟夫问题
fafasf
--tianwen
阅读排行榜
1. 约瑟夫问题(1501)
2. 并查集 HDU1863(686)
3. strcmp返回值布尔类型的判断(523)
4. 母函数~Holding Bin-Laden Captive! (520)
5. 并查集 HDU1213(491)
评论排行榜
1. http://acm.hdu.edu.cn/discuss/public/post/reply.php?postid=2413&messageid=1&deep=0(1)
2. 约瑟夫问题(1)
3. 花生的问题(0)
4. 字符串处理 A-Metsys Laremun(0)
5. 今天复习母函数的一些感受(0)
最短路径问题No.1
f
#include
<
iostream
>
#include
<
stdio.h
>
#include
<
cstring
>
using
namespace
std;
#define
INF 5000000
int
a[
201
];
int
c[
201
][
201
];
int
d[
201
][
201
];
int
main()
{
int
n;
int
i,j,m,kk,k,p;
int
max1;
scanf(
"
%d
"
,
&
n);
int
l;
for
(l
=
1
;l
<=
n;l
++
)
{ memset(a,
0
,
sizeof
(a));
memset(c,
0
,
sizeof
(c));
memset(d,
0
,
sizeof
(d));
scanf(
"
%d
"
,
&
m);
for
( i
=
0
;i
<
m;i
++
)
scanf(
"
%d
"
,
&
a[i]);
for
(i
=
0
;i
<
m;i
++
)
for
(j
=
0
;j
<
m;j
++
)
{
scanf(
"
%d
"
,
&
d[i][j]);
if
(d[i][j]
==-
1
)
d[i][j]
=
INF;
}
max1
=
0
;
for
(k
=
0
;k
<
m;k
++
)
for
(i
=
0
;i
<
m;i
++
)
for
(j
=
0
;j
<
m;j
++
)
{
if
(d[i][j]
>
(d[i][k]
+
d[k][j]))
d[i][j]
=
d[i][k]
+
d[k][j];
}
kk
=
0
;
for
(p
=
0
;p
<
m;p
++
)
{
if
(p
<
m
-
1
)
{
max1
+=
d[a[p]][a[p
+
1
]];
if
(d[a[p]][a[p
+
1
]]
==
INF)
kk
=
1
;
}
else
{
max1
+=
d[a[p]][a[
0
]];
if
(d[a[p]][a[
0
]]
==
INF)
{kk
=
1
;}
}
}
if
(kk
==
1
)
printf(
"
impossible\n
"
);
else
printf(
"
%d\n
"
,max1);
}
return
0
;
}
posted on 2011-05-08 22:07
Yiner
阅读(215)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理