混沌的云@HDU~
欢迎访问我的非代码blog http://zerob13.blog.163.com
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 20, comments - 6, trackbacks - 0
1251 统计难题(字典树)HDU
#include
<
stdio.h
>
#include
<
string
.h
>
#include
<
stdlib.h
>
struct
dictree
{
struct
dictree
*
child[
26
];
int
n;
}
;
struct
dictree
*
newnode()
{
int
i;
struct
dictree
*
t;
t
=
(
struct
dictree
*
)malloc(
sizeof
(
struct
dictree));
t
->
n
=
0
;
for
(i
=
0
;i
<
26
;i
++
)t
->
child[i]
=
NULL;
return
t;
}
struct
dictree
*
root;
int
main()
{
char
a[
1000
],b[
1000
];
int
i,j,k,l,n;
struct
dictree
*
s
=
newnode();
//
freopen("d:\\abc.txt","w",stdout);
root
=
newnode();
s
=
root;
while
(gets(a))
{
if
(a[
0
]
==
'
\0
'
)
{
break
;
}
l
=
strlen(a);
s
=
root;
for
(i
=
0
;i
<
l;i
++
)
{
n
=
a[i]
-
'
a
'
;
if
(s
->
child[n])
s
=
s
->
child[n];
else
{
s
->
child[n]
=
newnode();
s
=
s
->
child[n];
}
s
->
n
++
;
}
}
k
=
0
;
j
=
0
;
while
(scanf(
"
%s
"
,b)
!=
EOF)
{
/**/
/*
if(k)
printf("\n");
else
k++;
*/
j
=
1
;
s
=
root;
for
(i
=
0
;i
<
strlen(b);i
++
)
{
n
=
b[i]
-
'
a
'
;
if
(s
->
child[n])
s
=
s
->
child[n];
else
{
printf(
"
0\n
"
);
j
=
0
;
break
;
}
}
if
(j)
printf(
"
%d\n
"
,s
->
n);
}
}
posted on 2009-01-18 22:20
混沌的云
阅读(160)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2009年1月
>
日
一
二
三
四
五
六
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
31
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年2月 (8)
2009年1月 (12)
搜索
最新评论
1. re: HDU1429胜利大逃亡(续)!终于过了,顺便学了位压缩
@phk
ac了的
--混沌的云
2. re: HDU1429胜利大逃亡(续)!终于过了,顺便学了位压缩
你有没有ac过 感觉有点问题
--phk
3. re: STL简单讲解
@shǎ崽
囧。。。
--混沌的云
4. re: STL简单讲解
zero
--shǎ崽
5. re: 1195 Open the Lock (HDU)
@AekdyCoin
你才是大大。。。回@rz
--混沌的云
阅读排行榜
1. C++ 标准模板库(STL)编程示例 - set 拿来学习(677)
2. STL简单讲解(536)
3. 大明A+B(hdu)(491)
4. HDU1429胜利大逃亡(续)!终于过了,顺便学了位压缩(444)
5. 快排的实现(349)
评论排行榜
1. 1195 Open the Lock (HDU)(2)
2. STL简单讲解(2)
3. HDU1429胜利大逃亡(续)!终于过了,顺便学了位压缩(2)
4. 1166线段树版本,第一次自己写线段树,值得纪念(0)
5. 开了新blog(0)