种花家生日快乐! hdu 1251 简单的字典树

来源:互联网 发布:网络摄像头哪个品牌好 编辑:程序博客网 时间:2024/04/30 05:10

套模板就好了


#include<iostream>#include<cstdio>using namespace std;#define NULL 0const int num_chars = 26;struct Trie_node{int data;Trie_node*  branch[num_chars];Trie_node(){data = NULL;for (int i = 0; i < num_chars; i++){branch[i] = NULL;}}};Trie_node* root = new Trie_node;int insert(char* word){int result = 1,code;Trie_node* location = root;char* sword = word;while (location != NULL && *sword != '\0'){code = *sword - 'a';if (location->branch[code] == NULL){location->branch[code] = new Trie_node;}location = location->branch[code];location->data++;sword++;}if (*sword == '\0'){return 1;}return 0;}int search(char* word){int code, result = 1;Trie_node* location = root;char* sword = word;while (location != NULL && *sword != '\0'){code = *sword - 'a';if (location->branch[code] == NULL){return 0;}location = location->branch[code];sword++;}if (*sword != '\0'){return 0;}return location->data;}int main(){//freopen("TestDate.txt", "r", stdin);char s[12];while (gets(s) && s[0]){insert(s);}while (gets(s)){cout << search(s) << endl;}return 0;}


0 0
原创粉丝点击