思路:
完全看题目中的介绍就行了。还有里面的input写道:不保证是英文单词,也有可能是火星文单词哦。比赛结束后的提交是不用考虑26个字母之外的,都会AC,如果考虑128种可能的话,爆了内存。步骤就是,在插单词的同时记录该结点之后的单词数,查词就查最后一个字母所在结点上的单词数。
1 #include <iostream> 2 #include <cstring> 3 #include <vector> 4 #include <stdio.h> 5 using namespace std; 6 const int N=26; 7 char dict[15]; 8 int n, m; 9 struct node 10 { 11 int num; //以本节点开头的单词个数 12 node *child[N]; //孩子 13 }tree_gen; 14 15 int check_dict(char *p) 16 { 17 node *node_p=&tree_gen; //指向树根 18 int ans=0; 19 while(*p!='