[Tyvj1228 有道搜索框]
2011-11-09 17:35
363 查看
[题目来源]:tyvj1128
[关键字]:字典树
[题目大意]:给出一个字典。接着输入字符串s查询最多前8个依次为前缀的字典中的单词,如没有只输出s。
//============================================================================================================
[分析]:用字典树,首先将每个单词插入字典树,然后寻找到s插入字典树后在字典树中的节点,以此为起点进行dfs,如果s无法插入树中说明没有依次为前缀得单词。
[代码]:
View Code
[关键字]:字典树
[题目大意]:给出一个字典。接着输入字符串s查询最多前8个依次为前缀的字典中的单词,如没有只输出s。
//============================================================================================================
[分析]:用字典树,首先将每个单词插入字典树,然后寻找到s插入字典树后在字典树中的节点,以此为起点进行dfs,如果s无法插入树中说明没有依次为前缀得单词。
[代码]:
View Code
program Project1; type rec = record dat: array['a'..'z'] of longint; f: boolean; s: string; end; var tot, tn, n, q: longint; tree: array[0..2000000] of rec; procedure inser(s: string); var i, now: longint; begin now := 1; for i := 1 to length(s) do if tree[now].dat[s[i]] <> 0 then now := tree[now].dat[s[i]] else begin inc(tn); tree[tn].f := false; tree[now].dat[s[i]] := tn; now := tn; end; tree[now].s := s; tree[now].f := true; end; procedure dfs(k: longint); var ch: char; begin if tree[k].f then begin inc(tot); write(tree[k].s,''); end; for ch := 'a' to 'z' do begin if tree[k].dat[ch] <> 0 then dfs(tree[k].dat[ch]); if tot = 8 then exit; end; end; procedure find(s: string); var now, i: longint; begin now := 1; for i := 1 to length(s) do if tree[now].dat[s[i]] <> 0 then now := tree[now].dat[s[i]] else exit; dfs(now); end; procedure init; var i: longint; s: string; begin readln(n); tn := 1; for i := 1 to n do begin readln(s); inser(s); end; readln(q); for i := 1 to q do begin readln(s); tot := 0; find(s); if tot = 0 then writeln(s) else writeln; end; end; begin //assign(input,'c:\1.in');reset(input); assign(output,'c:\1.out');rewrite(output); init; close(input); close(output); end.
相关文章推荐
- TYVJ 1228 有道搜索框
- tyvj1228 有道搜索框
- 有道难题 有道搜索框
- 有道难题 之 有道搜索框 java实现
- 有道搜索框(tyvj 1228)
- 有道难题资格赛(1) 有道搜索框
- 有道搜索框
- 【Trie】【cogs647】有道搜索框
- B:有道搜索框
- tyvj1228(Trie运用)
- Cogs 647. [Youdao2010] 有道搜索框(Trie树)
- [Youdao2010] 有道搜索框
- TYVJ AC150纪念 有道搜索框
- 有道?都要?相似的Logo
- 用AJAX实现类似GOOGLE搜索框的功能
- 刚刚发现了一个好玩的---关于有道的
- 浅谈有道热闻的机器智能
- 有道阅读,想自己看别人
- 网易---有道難題---預賽--Topcoder-編程題(250points)
- 有道难题之OO