算法與程序--游戲與玩樂
一個新程序員在計算技術上的學習經驗
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
隨筆:142 文章:0 評論:37 引用:0
pku-2001
字典樹的一個應用,地址:
http://acm.pku.edu.cn/JudgeOnline/problem?id=2001
#include
<
stdio.h
>
#include
<
string.h
>
struct
{
int
next[
26
];
int
c[
26
];
int
flag;
}
trie[
35000
];
int
now;
void
initt ()
{
now
=
0
;
for
(
int
i
=
0
; i
<
26
; i
++
)
{
trie[now].next[i]
=
0
;
trie[now].c[i]
=
0
;
}
trie[now].flag
=
0
;
now
++
;
}
int
add ()
{
for
(
int
i
=
0
; i
<
26
; i
++
)
{
trie[now].next[i]
=
0
;
trie[now].c[i]
=
0
;
}
trie[now].flag
=
0
;
now
++
;
return
now
-
1
;
}
int
ser (
char
*
str )
{
int
pre
=
0
;
while
(
*
str
!=
0
)
{
int
addr
=
*
str
-
'
a
'
;
if
(
!
trie[pre].next[addr] )
{
return
0
;
}
pre
=
trie[pre].next[addr];
str
++
;
}
if
(
!
trie[pre].flag )
{
return
0
;
}
return
pre;
}
int
ins (
char
*
str )
{
int
pre
=
0
;
while
(
*
str
!=
0
)
{
int
addr
=
*
str
-
'
a
'
;
if
(
!
trie[pre].next[addr] )
{
trie[pre].next[addr]
=
add ();
}
trie[pre].c[addr]
++
;
pre
=
trie[pre].next[addr];
str
++
;
}
trie[pre].flag
=
1
;
return
pre;
}
void
check (
char
*
str )
{
char
*
s
=
str;
int
pre
=
0
;
while
(
*
str
!=
0
)
{
int
addr
=
*
str
-
'
a
'
;
if
( trie[pre].c[addr]
==
1
)
{
while
( s
<=
str )
{
printf (
"
%c
"
,
*
s );
s
++
;
}
printf (
"
\n
"
);
return
;
}
pre
=
trie[pre].next[addr];
str
++
;
}
printf (
"
%s\n
"
, s );
}
char
str[
1005
][
25
];
int
main ()
{
char
in[
25
];
int
n
=
0
;
initt ();
while
( scanf (
"
%s
"
, in )
!=
EOF )
{
int
len
=
strlen ( in );
if
( len )
{
strcpy ( str[n
++
], in );
if
(
!
ser ( in ) )
{
ins ( in );
}
}
}
for
(
int
i
=
0
; i
<
n; i
++
)
{
printf (
"
%s
"
, str[i] );
check ( str[i] );
}
return
0
;
}
發表于 2008-04-09 12:47
ghbxx
閱讀(227)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2008年6月
>
日
一
二
三
四
五
六
25
26
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)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2009年3月 (1)
2008年12月 (1)
2008年9月 (1)
2008年8月 (6)
2008年7月 (11)
2008年6月 (49)
2008年4月 (40)
2008年3月 (33)
搜索
最新評論
1.?re: pku-1811
樓主啊,稍微改一下你的代碼咋就錯了。不用miller labin直接用費馬定理原來的寫不是錯就超時啊
--re
2.?re: pku-1811
hugeint product_mod(hugeint A, hugeint B, hugeint C)
這個函數中, D = (D + D) % C; 應該錯了吧。
--re
3.?re: pku-1338
牛逼
--CAT
4.?re: pku-3159
好復雜啊。。。
--搜咯翻車魚
5.?re: pku-1001(1)
大數模板啊 要是能支持小數就好了 O(∩_∩)O~
--abilitytao
閱讀排行榜
1.?RFC-1321MD5算法(1519)
2.?SCOKS4協議及其改進(1495)
3.?RFC1929-SCOKS V5的用戶名/密碼認證方式(1489)
4.?RFC977-網絡新聞組協議文檔(1474)
5.?RFC1928-SCOKS V5協議(1348)
評論排行榜
1.?大家好,這是一個程序和算法薈萃的地方(4)
2.?pku-1338(4)
3.?pku-2002(3)
4.?pku-1811(3)
5.?pku-1723(3)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 ghbxx
一本久久知道综合久久
|
久久精品国产男包
|
狠狠色婷婷久久一区二区三区
|
久久国产视频99电影
|
久久免费高清视频
|
国内精品久久久久影院免费
|
久久w5ww成w人免费
|
亚洲午夜久久久久久噜噜噜
|
国产aⅴ激情无码久久
|
久久午夜免费视频
|
亚洲AV无码成人网站久久精品大
|
久久久无码精品亚洲日韩蜜臀浪潮
|
中文字幕无码久久人妻
|
久久91精品国产91
|
蜜臀av性久久久久蜜臀aⅴ麻豆
|
久久亚洲国产成人精品性色
|
av国内精品久久久久影院
|
99久久精品无码一区二区毛片
|
午夜欧美精品久久久久久久
|
国产99久久久国产精品小说
|
亚洲国产另类久久久精品黑人
|
人妻无码久久一区二区三区免费
|
A狠狠久久蜜臀婷色中文网
|
伊人久久大香线蕉影院95
|
久久久久久亚洲精品影院
|
人妻无码αv中文字幕久久
|
久久精品国产99国产精品澳门
|
国产女人aaa级久久久级
|
久久精品国产99久久久古代
|
97久久久久人妻精品专区
|
国产精品无码久久综合网
|
久久www免费人成看片
|
中文字幕一区二区三区久久网站
|
国产激情久久久久影院老熟女
|
久久久久综合国产欧美一区二区
|
色综合久久久久综合99
|
狠狠干狠狠久久
|
久久伊人精品一区二区三区
|
久久久久免费精品国产
|
18岁日韩内射颜射午夜久久成人
|
99久久人人爽亚洲精品美女
|