hdu 3460 Ancient Printer 字典树
来源:互联网 发布:mac中的照片在哪里 编辑:程序博客网 时间:2024/05/22 12:14
这题的答案就是(节点数*2)+(n)-(最长串的长度)。
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3460
#include <stdio.h>#include <string.h>#include <stdlib.h>#define maxn 30struct Trie{ Trie * next[maxn]; int v;};Trie * root;int cnt;void Init_Trie(){ root = (Trie *)malloc(sizeof(Trie)); for(int i=0;i<maxn;i++){ root -> next[i] = NULL; }}void Add_Trie(char * str){ Trie * p = root , * q; for(int i=0;str[i]!='\0';i++){ int id = str[i] - 'a'; if(p->next[id]==NULL){ q = (Trie *)malloc(sizeof(Trie)); q -> v = 0; for(int j=0;j<maxn;j++){ q -> next[j] = NULL; } p -> next[id] = q; p = p -> next[id]; } else { //p -> next[id]->v++; //记录有某个共同前缀的单词数量 p = p -> next[id]; } } p -> v ++;//记录相同单词的数量}int Search_Trie(char * str){ Trie * p = root; for(int i=0;str[i]!='\0';i++){ int id = str[i] - 'a'; p = p -> next[id]; if(p==NULL){ return 0; } } return p -> v;//返回以搜索串为前缀的数量}void Del_Trie(Trie * p){ for(int i=0;i<maxn;i++){ if(p->next[i])Del_Trie(p->next[i]); } free(p); cnt ++;}void Input(){ int n,maxlen; while(~scanf("%d",&n)){ Init_Trie(); maxlen = -1; char a[55]; for(int i=0;i<n;i++){ scanf("%s",a); int templen = strlen(a); if(templen>maxlen)maxlen = templen; Add_Trie(a); } cnt = 0; Del_Trie(root); printf("%d\n",(cnt-1)*2+n-maxlen); }}void File(){ freopen("a.in","r",stdin); freopen("a.out","w",stdout);}int main(void){// File(); Input(); return 0;}
0 0
- Ancient Printer 字典树 hdu 3460
- 【字典树】hdu 3460 Ancient Printer
- hdu 3460 Ancient Printer (字典树)
- hdu 3460 Ancient Printer 字典树
- HDU - 3460 Ancient Printer(字典树)
- HDU 3460 Ancient Printer (字典树)
- hdu 3460 Ancient Printer trie字典树
- HDU 3460 Ancient Printer(字典树)
- hdu 3460-Ancient Printer(字典树&&贪心)
- hdu 字典树Ancient Printer
- HDU 3460 Ancient Printer(思维题或字典树)
- hdu-3460-Ancient Printer(贪心+字典树)
- hdu 3460 Ancient Printer
- hdu 3460 Ancient Printer
- HDU 3460 Ancient Printer
- hdu 3460 Ancient Printer
- hdu 3460 Ancient Printer
- HDU 3460 Ancient Printer
- shell数组
- Android消息提示:AlertDialog、Toast、Notification的使用
- POJ2398——Toy Storage
- 策略模式题
- Longest Palindromic Substring
- hdu 3460 Ancient Printer 字典树
- POJ---3278-Catch That Cow(BFS/deque)
- python 线程,GIL 和 ctypes
- 买票找零
- windows7下搭建robot framework环境指导
- CompressCU 函数
- 算法导论 13章 红黑树
- 《CTCI》3.5 用两个栈实现队列
- Controller