What Are You Talking About HDU1075

一开始我也想用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[3500];getchar();while(gets(s)){if(!strcmp(s,"END"))break;int n=strlen(s);a="";for(int i=0;i<n;i++){if(islower(s[i]))a+=s[i];else{if(ma.find(a)!=ma.end())cout<<ma[a];elsecout<<a;cout<<s[i];a="";}}cout<<endl;}}
View Code

 

字典树写法

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

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

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

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

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

 

转载于:https://www.cnblogs.com/bxd123/p/10344411.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开通博客第一天

今天是开通博客第一天&#xff0c; 第一次写博客&#xff0c;也不知道写什么&#xff0c; 以后写点技术文&#xff0c;把我的经验分享给大家&#xff0c; 不对的地方请大家指正&#xff0c;一起进步。我要把我每遇到的难题以及学到的知识和技术为大家踩坑&#xff0c; 做研究。…

学习File API用于前端读取文件

1. File API简介 File API对于某些专门的网站的不可或缺的。现在常用它实现对文件的预览等功能。 File API规定怎么从硬盘上提取文件&#xff0c;直接交给在网页中运行中的Javascript代码。然后代码可以打开文件探究数据&#xff0c;无论是本地文件还是其他文件。注意&#x…

kafka笔记1

Kafka是一款基于发布和订阅的消息系统。一般被称为分布式提交日志或分布式流平台。 Kafka系统是按照一定的顺序持久化保存的&#xff0c;可以按需读取。 Kafka的数据单元被称为消息。类似于数据库中表的一行记录&#xff0c;消息由字节组成&#xff0c;所以没有特别的格式和含义…

Dubbo入门教程

服务端&#xff08;dubbo-server&#xff09; 1. pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaL…

NSAssert和NSParameterAssert

2016.05.05 18:34* 字数 861 阅读 5127评论 0喜欢 17https://www.jianshu.com/p/3072e174554fNSAssert和NSParameterAssert在开发环境中经常被使用&#xff0c;调试和验证代码参数的完整性&#xff0c;断言为真&#xff0c;则表明程序运行正常&#xff0c;而断言为假&#xff0…

【PAT】B1070 结绳(25 分)

此题太给其他25分的题丢人了&#xff0c;只值15分 注意要求最终结果最长&#xff0c;而且向下取整 #include<stdio.h> #include<algorithm> using namespace std; float arr[10005]; int main(){int N;scanf("%d",&N);for(int i0;i<N;i)//输入数据…

Java代码实现负载均衡五种算法

前言&#xff1a; 负载均衡是为了解决并发情况下&#xff0c;多个请求访问&#xff0c;把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前&#xff0c;先来了解一下负载均衡这个概念。 1.概念 负载&#xff0c;从字面…

使用Nodejs发送邮件

尝试用了Nodemailer来发送邮件&#xff0c;结果成功了&#xff0c;虽然是相对比较简单的&#xff0c;但还是记录一下吧。 Nodemailer 是 Node.js 应用程序的一个模块&#xff0c;可以方便地发送电子邮件。 使用 # 初始化 pageage.json 文件 $ npm init # 安装依赖 $ npm ins…

HTTP同源策略

同源策略是web安全策略中的一种&#xff0c;非常重要。 同源策略明确规定&#xff1a;不同域的客户端在没有明确授权的情况下&#xff0c;不能读写对方的资源。 简单说来就是web浏览器允许第一个页面的脚本访问访问第二个页面的数据&#xff0c;但是也只有在两个页面有相同的…

Spring Cloud 微服务架构

一、分布式服务框架的发展 1.1 第一代服务框架   代表&#xff1a;Dubbo(Java)、Orleans(.Net)等 特点&#xff1a;和语言绑定紧密 1.2 第二代服务框架   代表&#xff1a;Spring Cloud等 现状&#xff1a;适合混合式开发&#xff08;例如借助Steeltoe OSS可以让ASP.Ne…

JZOJ 4421. aplusb

4421. aplusb Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Goto ProblemSetDescription SillyHook要给小朋友出题了&#xff0c;他想&#xff0c;对于初学者&#xff0c;第一题肯定是ab 啊&#xff0c;但当他出完数据后神奇地发现.in不见了&#xff0c…

跨域资源共享CORS详解

最近深入了解了CORS的相关东西&#xff0c;觉得阮一峰老师的文章写得最详细易懂了&#xff0c;所有转载作为学习笔记。 原文地址&#xff1a;跨域资源共享 CORS 详解 CORS是W3C的一个标准&#xff0c;全称是跨域资源共享&#xff08;Cross-origin resource sharing&#xff0…

计算机网络(十),HTTP的关键问题

目录 1.在浏览器地址栏键入URL&#xff0c;按下回车之后经历的流程 2.HTTP状态码 3.GET请求和POST请求的区别 4.Cookie和Session的区别 5.IPV4和IPV6 十、HTTP的关键问题 1.在浏览器地址栏键入URL&#xff0c;按下回车之后经历的流程 &#xff08;1&#xff09;DNS解析 &#x…

云技术

云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来&#xff0c;实现数据的计算、储存、处理和共享的一种托管技术。

vue中 mock使用教程

//mock/index.js import Mock from mockjs //引入mockjs&#xff0c;npm已安装 import { Random,toJSONSchema } from mockjs // 引入random对象,随机生成数据的对象&#xff0c;&#xff08;与占位符一样&#xff09; Mock.setup({timeout:1000 //设置请求延时时间 }) const …

前端开发掌握nginx常用功能之rewrite

上一篇博文对nginx最常用功能的server及location的匹配规则进行了讲解&#xff0c;这也是nginx实现控制访问和反向代理的基础。掌握请求的匹配规则算是对nginx有了入门&#xff0c;但是这些往往还是不能满足实际的需求场景&#xff0c;例如请求url重写、重定向等等&#xff0c;…

vue2.0脚手架的webpack 配置文件分析

前言 作为 Vue 的使用者我们对于 vue-cli 都很熟悉&#xff0c;但是对它的 webpack 配置我们可能关注甚少&#xff0c;今天我们为大家带来 vue-cli#2.0 的 webpack 配置分析 vue-cli 的简介、安装我们不在这里赘述&#xff0c;对它还不熟悉的同学可以直接访问 vue-cli 查看 …

一个可供中小团队参考的微服务架构技术栈

一个可供中小团队参考的微服务架构技术栈

WinSxS文件夹瘦身

WinSxS文件夹瘦身2014-5-8 18:03:32来源&#xff1a;IT之家作者&#xff1a;阿象责编&#xff1a;阿象 评论&#xff1a;27刚刚&#xff0c;我们分享了如何用DISM管理工具查看Win8.1 WinSxS文件夹实际大小。对于WinSxS文件夹&#xff0c;几乎每个Windows爱好者都认识到其重要性…

bcrypt的简单使用

前段时间在捣鼓个人项目的时候用到了nodejs做服务端&#xff0c;发现使用加密的方法和之前常用的加密方式不太一致&#xff0c;下面以demo的形式总结一下bcrypt对密码进行加密的方法。 一、简介 Bcrypt简介&#xff1a; bcrypt是一种跨平台的文件加密工具。bcrypt 使用的是布…