2797:最短前缀 Trie
生活随笔
收集整理的這篇文章主要介紹了
2797:最短前缀 Trie
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用字典樹實現,當節點的num為1時,說明為唯一的前綴?
//[openjudge] 2797最短前綴 Trie struct Trie {Trie *next[26];int num;Trie(){for (int i = 0; i < 26; i++)next[i] = NULL;num = 0;} }; Trie root; void insert(char *s){Trie *p = &root;for (int i = 0; s[i] ; ++i) {int tt = s[i] - 'a';if (p->next[tt]==NULL)p->next[tt] = new Trie;p = p->next[tt];p -> num++;} }void find(char *s){Trie *p = &root;for (int i = 0; s[i] ; ++i) {int tt = s[i] - 'a';if (p->next[tt]==NULL)return;p = p->next[tt];printf("%c",s[i]);if (p->num==1)return;} }int main2797() {int n = 0;char word[1010][22];while (~scanf("%s", word[n])){insert(word[n]);n++;}for (int i = 0; i < n; ++i) {printf("%s ", word[i]);find(word[i]);printf("\n");}return 0; }?
總結
以上是生活随笔為你收集整理的2797:最短前缀 Trie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows系统字体和系统应用字体
- 下一篇: 在Codeblocks下配置Google