sunkehappy
随笔 - 19, 文章 - 0, 评论 - 2, 引用 - 0
数据加载中……
hdu1181变形课
典型的Floyd传递闭包,只要知道了算法,做起来和简单。
#include
<
stdio.h
>
#include
<
string
.h
>
#include
<
memory.h
>
#define
DEBUG 1
const
int
N
=
28
;
int
map[N][N] ;
void
Floyd( )
{
int
i, j, k ;
for
( k
=
0
; k
<
26
;
++
k )
for
( i
=
0
; i
<
26
;
++
i )
for
( j
=
0
; j
<
26
;
++
j )
map[i][j]
=
map[i][j]
||
( map[i][k]
&&
map[k][j] ) ;
}
int
main()
{
#if
DEBUG
freopen(
"
C:\\Documents and Settings\\Administrator\\桌面\\in.txt
"
,
"
r
"
,stdin);
freopen(
"
C:\\Documents and Settings\\Administrator\\桌面\\out.txt
"
,
"
w
"
,stdout);
#endif
int
len ;
char
a[
2000
] ;
while
( EOF
!=
scanf(
"
%s
"
,a) )
{
if
( a[
0
]
==
'
0
'
)
{
Floyd( ) ;
if
( map[
1
][
12
] )
printf(
"
Yes.\n
"
) ;
else
printf(
"
No.\n
"
) ;
memset( map,
0
,
sizeof
(map) ) ;
continue
;
}
len
=
strlen( a ) ;
map[a[
0
]
-
'
a
'
][a[len
-
1
]
-
'
a
'
]
=
1
;
}
return
0
;
}
posted on 2009-05-10 19:48
祝你好运!
阅读(729)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 祝你好运!
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
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
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年8月 (1)
2009年7月 (1)
2009年6月 (1)
2009年5月 (15)
2009年4月 (1)
搜索
最新评论
1. re: 杭电1142 A Walk Through the Forest
评论内容较长,点击标题查看
--Veegin
2. re: hdu1102_Constructing Roads[未登录]
无语了,也没说几组数据啊。。。。。。。。。。。。
--小白
阅读排行榜
1. hdu1181变形课(729)
2. hdu2048错排的概率(509)
3. 杭电1142 A Walk Through the Forest(502)
4. hdu1233_还是畅通工程(450)
5. zoj1405_Tanning Salon(403)
评论排行榜
1. hdu1102_Constructing Roads(1)
2. 杭电1142 A Walk Through the Forest(1)
3. hdu1548_A strange lift(0)
4. hdu1548 A strange lift(0)
5. hdu1301_Jungle Roads(0)