HDOJ 1671
来源:互联网 发布:淘宝客单页面html模板 编辑:程序博客网 时间:2024/04/29 07:48
HDOJ 1671 Phone List
数据结构题
字典树
#include <stdio.h>typedef struct _tagTrieNode {int count;struct _tagTrieNode *next[10];} TrieNode,*PTrieNode;TrieNode nodeStack[100000];int nodeTop;void initTrie(PTrieNode root){int i;for(i = 0;i < 10;i++)root->next[i] = 0;nodeTop = 0;}void insertTrie(PTrieNode node,char *s){int i;while(*s) {node->next[*s - '0'] = &nodeStack[nodeTop++];node = node->next[*s - '0'];node->count = 1;for(i = 0;i < 10;i++)node->next[i] = 0;s++;}node->count = 2;return;}int checkTrie(PTrieNode root,char *s){int i;PTrieNode node;node = root;for(i = 0;s[i];i++) {if(node->count == 2)return 1;if(!node->next[s[i] - '0']) {insertTrie(node,&s[i]);return 0;}node = node->next[s[i] - '0'];}if(node->count)return 1;return 0;}int main(){TrieNode TrieRoot;char s[11];int t,n,r;TrieRoot.count = 0;scanf("%d",&t);while(t--) {initTrie(&TrieRoot);scanf("%d",&n);getchar();r = 0;while(n--) {gets(s);if(r)continue;r = checkTrie(&TrieRoot,s);}puts(r ? "NO": "YES");}return 0;}
- HDOJ 1671
- HDOJ 1671
- HDOJ-1671(Trie)
- 字典树-HDOJ-1671
- HDOJ-1671-字典树
- HDOJ
- hdoj
- hdoj
- HDOJ
- HDU/HDOJ 1671 Phone List
- HDOJ 1671 Phone List(AC)
- hdoj 1671Phone List 字典树
- HDOJ 1671 Phone List(字典树)
- Phone List(HDOJ-1671)(tire树)
- HDOJ-1671Phone List(Trie树)
- HDOJ-1671 Phone List(Trie树)
- hdoj 1568 && hdoj 5344 && hdoj 5444
- HDU/HDOJ 1671 Phone List 字典树的应用
- zigbee初学者,应该知道的,过来人说过的
- 第八周作业 1.1
- 测试文章
- U盘安装系统教程
- 2012.4.11 任务
- HDOJ 1671
- oracle 的to_char、to_number、to_date用法
- ORACLE 创建表空间、创建用户
- CListCtrl使用技巧
- 变分与偏微分图像处理
- 第八周作用 1.2
- 电脑开机只显示桌面不显示图标
- Fortran与C语言,回调函数的使用比较
- 扩展QuadCurveMenu,实现了八个方向上的弹出菜单