【志银】NYOJ《题目490》翻译
1.题目:翻译
1.1.题目链接
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=490
1.2.题目内容


2.解题分析
题目输入输出格式描述不清晰。
2.1.分析(1)
所有数据都完成输入,然后再输出(解法1,内存可能不够(AC通过))
2.2.分析(2)
待测数据输完一行立马输出一行结果(解法2,内存够(没通过))
2.3.总结
两种写法都写了,最后以第一种输入输出格式通过,后台没有内存超出的数据
3.解题代码
3.1.解法1(AC)
//解法1,内存可能不够,对题意通用性高(AC通过)
#include<iostream>
#include<map>
#include<cstdio>
using namespace std;
int main() {
string s[3005], s0, s1 = "", s2 = "";
map<string, string> f;
f["czy"] = "cml";
cin >> s1;
while(s2 != "BEGIN") {
cin >> s1 >> s2;
f[s2] = s1;
}
int n = 0;
char ch[3005];
do {
cin >> s[++n];
ch[n] = getchar();
}while(s[n] != "END");
for(int i = 1; i < n; i++) {
s0 = "";
for(int j = 0; j < s[i].size(); j++) {
if(s[i][j] >= 'a' && s[i][j] <= 'z') {
s0 += s[i][j];
} else {
if(f[s0] != "") cout << f[s0];
else cout << s0;
cout << s[i][j];
s0 = "";
}
}
if(f[s0] != "") cout << f[s0];
else cout << s0;
if(ch[i] == '\n') cout << "\n";
else cout << " ";
}
}
3.2.解法2(WA)
//解法2,内存能够,因为题意有歧义可能不能这样解(没通过)
#include<iostream>
#include<map>
#include<cstdio>
#include<cstring>
using namespace std;
int main() {
string s0, s1 = "", s2 = "";
map<string, string> f;
f["czy"] = "cml";
cin >> s1;
while(1) {
cin >> s1 >> s2;
if(s2 == "BEGIN") break;
f[s2] = s1;
}
char s[3005];
getchar();
while(1) {
gets(s);
if(s[0] == 'E' && s[1] == 'N' && s[2] == 'D') break;
s0 = "";
for(int i = 0; i < strlen(s); i++) {
if(s[i] >= 'a' && s[i] <= 'z') {
s0 += s[i];
} else {
if(f[s0] != "") cout << f[s0];
else cout << s0;
cout << s[i];
s0 = "";
}
}
cout << endl;
}
}
创建日期:2016.09.30
更新日期:2018.11.05
【志银】NYOJ《题目490》翻译的更多相关文章
- NYOJ:题目490 翻译
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490 这题的输入输出格式好像描述的不太清楚,1)可能是所有数据都完成输入,然后再输出(解法 ...
- 【志银】NYOJ《题目529》flip
题目:flip 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 吐槽Time: 由于此题槽点太多,所以没忍住... 看到这题通过率出 ...
- 【志银】NYOJ《题目524》A-B Problem
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...
- 【志银】NYOJ《题目860》又见01背包
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 方法一:不用滚动数组(方法二为用滚动数组,为方法一的简化) 动态规划分析:最少要拿总 ...
- NYOJ题目57 6174问题
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAJLCAIAAACE5qzaAAAgAElEQVR4nO3dMXKrutvH8XcT6bOQ1C ...
- 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结
(软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...
- 【志银】MySQL命令总结
===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...
- 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)
★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...
- nyoj 题目2 括号配对问题
描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...
随机推荐
- SyncUI跨设备同步
SynUI控制代码 <script type="text/javascript"> /* SyncUI script (Learn more at http://syn ...
- 微信小程序【消息推送服务器认证C# WebAPI】
参考微信开发文档: https://developers.weixin.qq.com/miniprogram/dev/api/custommsg/callback_help.html 代码可用 /// ...
- Angularjs 数据过滤
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- 整理下react中常见的坑
其实有些也不能算是坑,有些是react的规定,或者是react的模式和平常的js处理的方式不同罢了 1.setState()是异步的this.setState()会调用render方法,但并不会立即改 ...
- Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616714 本文出自方志朋的博客 Lua模块开发 在实际的开发过程中,不可能把所有的lu ...
- 纯 HTML5 APP与原生APP的差距在哪?
纯 HTML5 APP与原生APP的差距在哪? 写过一些纯H5的APP,虽然开发起来的确很快很舒服,但和原生比起来纯H5APP还是有很多问题,主要聚集在以下几个方面: 1.动画 动画有很多种,比如侧边 ...
- oracle中connect by语句的优化
很多应用中都会有类似组织机构的表,组织机构的表又通常是典型的层次结构(没有循环节点).于是通过组织控制数据权限的时候,许多人都喜欢通过connect by获得组织信息,然后再过滤目标数据. 在有些情况 ...
- 蓝图(Blueprint)详解
Blueprint 模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,针对一个简单的flask程序进行模块化处理 举例来说: 我们有一个博客程序,前台界面需要的路由为:首页,列表, ...
- 企业Shell面试题及企业运维实战案例(三)
1.企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: ...
- hibernate中配置单向多对一关联,和双向一对多,双向多对多
什么是一对多,多对一? 一对多,比如你去找一个父亲的所有孩子,孩子可能有两个,三个甚至四个孩子. 这就是一对多 父亲是1 孩子是多 多对一,比如你到了两个孩子,它们都是有一个共同的父亲. 此时孩子就是 ...