/*问题:输入一段英文,对照给的单词的映射,输出映射后的字符串YY  :典型的字典树问题,先处理好映射表,在一映射单词结尾处记录与之对应的单词,后面字符串处理一下,单个单词进行查,找到后输出,没有输出原始词刚开始交RE越界,不解,觉得是指针问题,但找不出错处后来找到个神奇数据后改过就A了/*STARTdog aaENDSTARTa aaEND*/*/#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct node
{struct node *child[26];char *str;
};
struct node *root = new struct node;void Init()
{for(int i =0;i <26; i++)root->child[i] = 0;
}
void Insert(char *c1,char *c2)
{int len = strlen(c2);struct node *cur;cur = root;for(int i =0;i <len;i ++){if(cur ->child[c2[i] - 'a'] != 0){cur = cur ->child[c2[i] - 'a'];}else{struct node *newnode = new struct node;cur ->child[c2[i] - 'a'] = newnode;for(int j =0; j <26; j++){newnode ->child[j] = 0;}newnode ->str = NULL;          //相当重要啊!!!!!cur = newnode;}}cur->str = (char *)malloc(15 * sizeof(char));strcpy(cur->str, c1);
}void Print(char *c2)
{int len = strlen(c2);struct node *cur;cur = root;if(!len) return ;for(int i =0;i <len; i++){if(c2[i] < 'a' || c2[i] > 'z' || cur ->child[c2[i] - 'a'] == 0){printf("%s",c2);return ;}else{cur = cur ->child[c2[i] - 'a'];    }}if(cur ->str != NULL)printf("%s",cur ->str);elseprintf("%s",c2);
}
int main()
{char s[15],temp[3005],c1[15],c2[15];Init();scanf("%s", temp);while(scanf("%s", c1) && strcmp(c1, "END")!=0){scanf("%s", c2);Insert( c1, c2);}scanf("%s", temp);getchar();while(gets(temp) && strcmp(temp,"END")!=0){int len = strlen(temp);int start = -1, end = 0;int num = 0;for(int i =0; i<len; i++){if(temp[i] >= 'a' && temp[i] <= 'z'){if(start == -1){            start = i;    }s[num++] = temp[i];}else{if(start > -1){start = -1;s[num] = '\0';num = 0;Print(s);}printf("%c", temp[i]);}}if(start > -1)                 ***********在此,我不给力!!!!********************{s[num] = '\0';Print(s);if(temp[len - 1] < 'a' || temp[len - 1] > 'z')printf("%c", temp[len - 1]);}printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/cykun/archive/2011/01/16/1936723.html

hdu 1075 (字典树映射)相关推荐

  1. poj 2513(欧拉路径+字典树映射)

    题目链接:http://poj.org/problem?id=2513 思路:题目还是很简单的,就是判断是否存在欧拉路径,我们给每个单词的头和尾映射序号,统计度数.对于给定的无向图,当且仅当图连通并且 ...

  2. hdu 4099 字典树 + 斐波那契

    题意:       给你一个串(最长40位)问你这个串是斐波那契F(n)  n <= 99999中的那个数的前缀,如果存在多个输出最小的n否则输出-1. 思路:       给的串最长40位,那 ...

  3. hdu 1298 字典树 + DFS (模拟T9文本输入)

    题意:       给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...

  4. Prefix HDU - 5790 字典树 + 主席树

    传送门 文章目录 题意: 思路: 题意: 给你nnn个串,每次询问一个区间,返回这个区间的串的不同的前缀个数,强制在线. 思路: 碰到字符串前缀的问题,我们自然的想到用字典树来解决. 对于每个串,我们 ...

  5. HDU 1800(字典树)

    简单的字典树水题,统计为单词前缀的单词数,取最大,注意要去前0,具体原理还是自己想想吧,最大数决定了最大分组. 诶 PKU月赛之后 我发现我只会水的 .............. #include&l ...

  6. HDU 5536 字典树

    题意:就是公式. 这现场赛O(n^3)能过,觉得太没天理了. 做法:字典树,枚举两个数,然后在字典树上贪心的跑. #include <bits/stdc++.h>using namespa ...

  7. HDU 5687 字典树入门

    Problem C Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  8. hdu 1247 字典树

    题意:给你一部分单词,让你找出所有这样的单词:a+b=c,就是一个单词,由另外两个单词串联而成 解题思路:先输入全部单词,构建一棵tire树,然后枚举所有单词,对单词进行查找,查找过程中经过的单词节点 ...

  9. hdu 1251 字典树,指针版

    这题内存需求很大,我用静态数组写的trie总MLE,看discuss说50w的数组才过,但我一开50w的就MLE了啊--想不通 这是链表版的trie,1个case,所以也不用考虑内存释放什么的 #in ...

最新文章

  1. VC++ CopyFile函数使用方法
  2. 【Flutter】Flutter 应用创建运行 ( Android Studio 创建 / 运行 Flutter 应用 | 命令行创建 / 运行 Flutter 应用 )
  3. Django在admin.py中设置date_hierarchy时报错
  4. 常用代码生成工具介绍
  5. Python机器学习:PCA与梯度上升001什么是PCA
  6. Git学习文档之一 学习文档-合并分支
  7. [BZOJ2038]小Z的袜子(莫队算法)
  8. 授权码模式、Token登录认证
  9. “华为跳槽内幕”:有钱没用,你得值钱
  10. XP pro下安装Windows XP Tablet PC 2005组件教程
  11. 商业级web阅读器项目(下下)
  12. hbase 使用lzo_装配HBase LZO
  13. openlayers地图瓦片制作 (四)
  14. PPC气箱脉冲除尘器
  15. GPU显卡环境配置安装
  16. Spring Cloud GateWay系列(三):路由规则动态刷新
  17. TCP/IP卷一:49---ICMP之(与ICMP相关的攻击)
  18. 实用记账本,告别月光不是梦
  19. igm焊接机器人基本操作_焊接机器人教程方案.ppt
  20. 平直度测量仪在线测量圆棒的直线度

热门文章

  1. python图像切面numpy_十个Python图像处理工具,不可不知!
  2. elasticsearch的父子_elasticsearch父子关系(官方)实际使用中的一些建议
  3. 荒岛余生最后一个包裹_豆瓣评分8.5,一个人撑起整部电影,最后的彩蛋让人无语...
  4. mysql过滤复制的实现
  5. flask框架如何实现修改密码和免密登录功能
  6. html设备监控系统模板,蓝色的远程监控设备系统后台管理界面模板
  7. html 根据坐标画多边形,28种css3绘制多边形代码分享
  8. 网校mysql设计规范_点击!2019年9月二级MySQL试题
  9. P1047 校门外的树(线段树优化)(校门三部曲)难度⭐⭐
  10. 【数论基础】欧几里德算法及其各种应用