【志银】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组测试数据.后面的 ...
随机推荐
- UML 类关系图(泛化,实现,依赖,关联(聚合,组合))
UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图 ...
- detection工作
今天看到YOLO2的工作还是很不错的,效果好,关键是速度也快,已经完胜SSD了感觉. 虽然faster rcnn各方面效果都不错,但是从简单粗暴的角度考虑,SSD和YOLO真的深得我心啊. 检测模型, ...
- java流汇总以及使用实例
流一.基本概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络) 读入到内存中,形成了流,然后将这些流还可以写到另外的目的地 ...
- java中静态代理和动态代理
一.概述 代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象.如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能 ...
- ETO的公开赛T5《猎杀蓝色空间号》题解
这道题别看题面这么长,其实题意很简单 就是让你求从起点开始的最长合法区间 合法的要求有两个:兜圈子和直飞 且这两个条件相互独立 (也就是说兜圈子的末尾不会对下面可能出现的直飞造成影响) 举个例子: 1 ...
- shell的命令格式
参考高峻峰 著 循序渐进Linux(第二版) command [options] [arguments] command:表示命令的名称 options:表示命令的选项 arguments:表示命令的 ...
- Percona-Tookit工具包之pt-index-usage
Preface There're many ways relevent with performance tuning.For example,using indexes proper ...
- js根据年份获取某月份有几天
function getNum(year, month) { var temp; month = parseInt(month, 10); temp = new Date(year, month, 0 ...
- angularjs Directive自定义指令详解
作用:需要用Directive有下面的情景: 1.使你的Html更具语义化,不需要深入研究代码和逻辑即可知道页面的大致逻辑. 2. 抽象一个自定义组件,在其他地方进行重用. 3.使用公共代码,减少重复 ...
- redis相关目录
redis的docker化安装 redis的主从配置