NYOJ 163 Phone List
来源:互联网 发布:网络咨询师工作流程 编辑:程序博客网 时间:2024/05/18 00:06
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=163
如:给出三组phone numbers,
判断较短的phone number是否是这组numbers中的一条或多条的前缀。也是判断一组字符串中,是否存在某一字符串是其它字符串的前缀。这里较为简便的方法是采用"字典树"(Trie)了,那何为"字典树“呢?
关于字典树的详细讲解在http://blog.csdn.net/cyongxue/article/details/19603401中可以看到。
理解了字典树,这里可以直接写出代码了:
int Insert(char *str){bool flag = false;int length = strlen(str);Trie *p = root;for(int i = 0;i<length;i++){int id = str[i] - '0';p = p->next[id];if(p == NULL){flag = true;//说明str不在当前的字典树中,那么可将其加入其中Trie *q = new Trie;q->v = 1;for(int j = 0;j<MAX;j++){q->next[j] = NULL;}p->next[id] = q;p = p->next[id];}else{p->v++;p = p->next[id];}}p->v--;return flag;}//phone listint _tmain(int argc, _TCHAR* argv[]){root = new Trie;root->v = 1;for(int i = 0;i<MAX;i++)root->next[i] = NULL;int times = 0;cin>>times;char str[20];while(times--){int nums = 0;cin>>nums;for(int i = 0;i<nums;i++ ){cin>>str;if(Insert(str))cout<<"YES"<<endl;elsecout<<"NO"<<endl;}}return 0;}
0 0
- NYOJ 163 Phone List
- nyoj 题目163 Phone List
- nyoj 163Phone List-字典树
- nyoj 163 Phone List && poj 3630 Phone List <字典树 动态建树&&静态建树>
- (NYoj 163)Phone List -- 字典树(水题)
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- Phone List
- C# 访问USB(HID)设备
- C#:String.Format数字格式化输出
- 用VS编译出可独立运行的程序
- 图说微积分(三)函数
- J-LINK7 固件修复
- NYOJ 163 Phone List
- 无法获取未定义或null引用的属性“style”
- easypoi导出Excel
- synchronized 介绍
- LibUsbDotNet使用方法
- Eclipse Class Decompiler——Java反编译插件
- Linux 之 export 本质
- 用绘本回忆青春创业经历——leo鉴书46
- 深搜之搜索树