题意:输入n串数字 找出是否有存在串的前缀与另一个串相同 如果存在 输出NO否则输出YES
思路:用字典树解决 标记字典树总串的结尾 查找出一个串内部是否有被标记的节点 如果有那么说明存在前缀相同的串
在插入字典树的时候判断是否存在 cin poj tle了 还是换成gets才过。。。
AC代码:
1 #include "iostream" 2 #include "stdio.h" 3 #include "string.h" 4 using namespace std; 5 6 using namespace std ; 7 typedef long long ll; 8 #define mem(a) memset(a,0,sizeof(a)) 9 10 typedef struct Trie 11 { 12 bool isword; 13 struct Trie *next[10]; 14 }*Trie_pointer; 15 16 Trie trie[300005]; 17 18 int tot,flag; 19 20 void Insert(Trie_pointer root, char *s) 21 { 22 if(*s == '