HDU1251-统计难题
2016-09-08 20:35
253 查看
简单的Trie树即可解决。
#include <cstdio> #include <cstring> char s[15]; struct Trie { int cnt; Trie *next[26]; }; void init(Trie *rt) { rt->cnt = 0; for (int i = 0; i < 26; i++) { rt->next[i] = NULL; } } Trie *build() { Trie *p = new Trie; init(p); return p; } void insert(Trie *rt, char *s, int len) { Trie *p = rt; for (int i = 0; i < len; i++) { int idx = s[i] - 'a'; if (p->next[idx] == NULL) { p->next[idx] = new Trie; init(p->next[idx]); } p = p->next[idx]; p->cnt++; } } int search(Trie *rt, char *s, int len) { Trie *p = rt; for (int i = 0; i < len; i++) { int idx = s[i] - 'a'; if (p->next[idx] == NULL) { return 0; } p = p->next[idx]; } return p->cnt; } int main(int argc, char const *argv[]) { Trie *rt = build(); while (gets(s)) { if (s[0] == '\0') { break; } insert(rt, s, strlen(s)); } while (scanf("%s", s) == 1) { printf("%d\n", search(rt, s, strlen(s))); } return 0; }
相关文章推荐
- HDU 1251 统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题(trie树)
- hdu 1251 统计难题
- HDU 1251 统计难题 字典树
- hdu 1251 统计难题
- hdu 1251 统计难题
- HDU 1251统计难题(字典树)
- hdu1251 统计难题 字典树
- HDU 1251 统计难题
- Hdu-1251 统计难题
- hdu 1251统计难题(trie)
- HDOJ 1251 HDU 1251 统计难题 ACM 1251 IN HDU
- HDU 1251 统计难题
- HDU 1251:统计难题
- HDU 1251 统计难题
- HDU-1251-统计难题
- hdu1251——统计难题
- hdu 1251 统计难题//trie树
- HDU 1251 统计难题