一开始我也想用map  但是处理不好其他字符。。

看了题解   多多学习! 很巧妙  就是粗暴的一个字符一个字符的来 分为小写字母和非小写字母两个部分  一但单词结束的时候就开始判断。

#include<bits/stdc++.h>
using namespace std; int main()
{
string a,b;
map<string ,string >ma;
cin>>a;
while(cin>>a&&a!="END")
{
cin>>b;ma[b]=a; }
cin>>a;
char s[];getchar();
while(gets(s))
{
if(!strcmp(s,"END"))break; int n=strlen(s);
a="";
for(int i=;i<n;i++)
{
if(islower(s[i]))a+=s[i];
else
{
if(ma.find(a)!=ma.end())
cout<<ma[a]; else
cout<<a; cout<<s[i];
a=""; } }
cout<<endl; } }

字典树写法

注意malloc   和初始化  字符串赋值用strcpy  不申请内存根本无法使用

因为 gets 和getchar 的问题检查了半小时  注意!!!

gets会吸收\n给忘记了。。。。

有关字典树的指针写法规范一下

#include <iostream>
#include <cstdio>
#include <cstring>
#include<malloc.h>
using namespace std; struct node
{
char *val;
node *next[];
int flag;
node()
{
for(int i=;i<;i++)
{
next[i]=NULL; }
flag=;
}
};
node *p,*root=new node(); void change(char *s,char *v)
{
p=root;
for(int i=;s[i]!='\0';i++)
{
int ch=s[i]-'a';
if(p->next[ch]==NULL)
p->next[ch]=new node();
p=p->next[ch]; }
p->flag=;
p->val=(char*)malloc((strlen(v)+)*sizeof(char));
strcpy(p->val,v); } void find1(char *s)
{
p=root;
for(int i=;s[i]!='\0';i++)
{
int ch=s[i]-'a';
if(p->next[ch]==NULL)
{
printf("%s",s);return;
}
p=p->next[ch];
}
if(p->flag)printf("%s",p->val);
else printf("%s",s); } int main()
{
char a[],b[];
gets(a);
while(scanf("%s",a)==)
{
if(!strcmp(a,"END"))break;
scanf("%s",b);
change(b,a); } getchar();
gets(a);
char s[];
while(gets(a))
{
if(!strcmp(a,"END"))break;
int k=;
for(int i=;i<strlen(a);i++)
{
if(islower(a[i]))s[k++]=a[i];
else
{
s[k]='\0';
find1(s);
printf("%c",a[i]);
k=;
}
} printf("\n");
} return ;
}

What Are You Talking About HDU1075的更多相关文章

  1. HDU1075

    题目大意: 给你一本火星词典,每个火星单词对应一个英文单词. 然后给你一篇火星文章,要求你翻译成英文. 要求如下: 如果这个火星单词用英文单词可以表示,就翻译成英文,如果没有这个单词,就原样输出.遇到 ...

  2. HDU1075 - What Are You Talking About(Trie树)

    题目大意 给定一些火星文单词以及对应的英语单词,然后给你一些火星文,要求你翻译成对应的英文 题解 第一次写Trie树! 把所有火星文单词插入到Trie树中,并且每个火星文单词结尾的节点记录相应英文单词 ...

  3. HDU1075 字典树板子题

    题意 :给出两组字符串 一一映射,给出一种组成的文字,要求映射成另外一种思路:使用字典树,把映射的另外一个字符存在字典树的单词节点处  例如 abc   123 则把123存在abc节点中的c处即可 ...

  4. (map)What Are You Talking About hdu1075

    What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K ...

  5. HDU1075 字典树 + 字符串映射

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075 ,字典树的字符串映射. 题意是给你每个火星文单词对应的英语,然后让你把一篇火星文文章给翻译成英语 ...

  6. HDU1075 What Are You Talking About(map)

    传送门 题目大意:一个单词对应另一个单词 翻译一段文字 题解:stl map走一波 代码: #include<iostream> #include<map> #include& ...

  7. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  8. Trie树入门及训练

    什么叫Trie树? Trie树即字典树. 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本 ...

  9. OJ题目分类

    POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...

随机推荐

  1. aop(Aspect Oriented Programming)面向切面编程

    AOP,一个oop的后传,面向切面,一个基于代理模式的机制. 举例子把:说原理很难理解, 吃饭:谁都得吃饭,一个老师类,有吃饭的方法.一个学生类,也得有吃饭的方法.是不是都得实现这个方法?构建一个pe ...

  2. 20155332 2016-2017-2 《Java程序设计》第6周学习总结

    20155332 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 1.文件的读写 2.网络上传数据的基础 3.认识INputStream.OutputStre ...

  3. fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory(转)

    fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory 解决办法:(Vs2013中) 项目--右键--属性--配置属 ...

  4. Leanote 蚂蚁笔记 云笔记

    Leanote 蚂蚁笔记  1.Leanote 数据存储是使用mongo存放的,所以需要安装mongo包 1.MongoDB 数据存储 Leanote 依赖 MongoDB 作为数据存储,下面开始安装 ...

  5. Linux之Ubuntu安装Sublime

    0.控制台下开启并使用: 为什么先说这一步呢?确实很尴尬,对不对.但确实,当初就是安装好了都不知道咋个用,就是这么蠢...hahahahahahahha 命令行:subl 注意:不是sub,也不是su ...

  6. Java SE之字符串常量池

    Reference Document: 什么是字符串常量池?   http://www.importnew.com/10756.html[Recommend] Java常量池理解与总结   http: ...

  7. USB摄像头无法正常读取问题

    opencv读取摄像头或者视频一种是早期版本的IplImage结构体,图片就存在结构体指针IplImage*中,另一种是Mat类,两者在操作上略有差异,且opencv2都兼容这两个版本,前面的博客也说 ...

  8. luogu P3576 [POI2014]MRO-Ant colony

    传送门 一群蚂蚁能被吃,也就是走到指定边的两端点之一要走到另一端点时有\(k\)只,我们可以从这两端点逆推,记两个值为走到某个点时最后会被吃掉\(k\)只蚂蚁的蚂蚁数量范围,式子下面有,很好理解(雾) ...

  9. TypeError: view must be a callable or a list/tuple in the case of include()

    原文连接: http://www.imooc.com/qadetail/98920 我是这么写的就好了 from django.conf.urls import url from django.con ...

  10. strstr函数字符串匹配问题

    题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2772.html AC代码: #inc ...