hdu 1251 统计
来源:互联网 发布:c# http post json 编辑:程序博客网 时间:2024/06/05 23:42
他妹的,敲完了,电脑死机了,全部消失了,又从新打了一遍,。。。这是什么节奏
#include <stdio.h>#include <string.h>#include <stdlib.h>#define ZERO 0#define ALPH_LEN 26 /* 26个字母 */const char FIRST_CHAR = 'a';typedef struct node{ struct node *child[ALPH_LEN]; /* 存储下一个字符 */ int n; /* 记录当前单词出现的次数 */}node, *Node;Node root; /* 字典树的根结点(不存储任何字符) *//* 插入单词 */void insert(char *str){ int i, index, len; Node current = NULL, newnode = NULL; len = strlen(str); current = root; /* 开始时当前的结点为根结点 */ for (i = 0; i < len; i++) /* 逐个字符插入 */ { index = str[i] - FIRST_CHAR; /* 获取此字符的下标 */ if (current->child[index] != NULL) /* 字符已在字典树中 */ { current = current->child[index]; /* 修改当前的结点位置 */ (current->n)++; /* 当前单词又出现一次, 累加 */ } else /* 此字符还没出现过, 则新增结点 */ { newnode = (Node)calloc(1, sizeof(node)); /* 新增一结点, 并初始化 */ current->child[index] = newnode; current = newnode; /* 修改当前的结点的位置 */ current->n = 1; /* 此新单词出现一次 */ } }}/* 在字典树中查找单词 */int find_word(char *str){ int i, index, len; Node current = NULL; len = strlen(str); current = root; /* 查找从根结点开始 */ for (i = 0; i < len; i++) { index = str[i] - FIRST_CHAR; /* 获取此字符的下标 */ if (current->child[index] != NULL) /* 当前字符存在字典树中 */ { current = current->child[index]; /* 修改当前结点的位置 */ } else { return ZERO; /*还没比较完就出现不匹配, 字典树中没有此单词*/ } } return current->n; /* 此单词出现的次数 */}int main(){ char tmp[11]; int i; root = (Node)calloc(1, sizeof(node)); while (gets(tmp), strcmp(tmp, "") != ZERO) { insert( tmp ); } while (scanf("%s", tmp) != EOF) { i = find_word( tmp ); printf("%d\n", i); } return 0;}
0 0
- HDU 1251 统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- HDU 1251:统计难题
- HDU 1251 统计难题
- Hdu-1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- HDU-1251-统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- hdu 1251统计难题
- hdu 1251 统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- NSData转换成GB2312编码
- 内网渗透测试Pivoting工具—Covert VPN
- uva 10010(数学)
- Java关键字static、final使用小结
- matlab的区域操作
- hdu 1251 统计
- FZU 2184 Moon Game(几何题)
- as汇编命令
- 读360SDK心得
- 权限android.permission.WRITE_EXTERNAL_STORAGE 内外置sd卡写权限
- 高精度(大数)的四则运算与逻辑运算---c++ struct版
- 实战Jquery(二)--可以编辑的表格
- 第二周工作报告
- Objective-C研究之词典对象学习(八)