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》翻译的更多相关文章

  1. NYOJ:题目490 翻译

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490 这题的输入输出格式好像描述的不太清楚,1)可能是所有数据都完成输入,然后再输出(解法 ...

  2. 【志银】NYOJ《题目529》flip

    题目:flip 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 吐槽Time: 由于此题槽点太多,所以没忍住... 看到这题通过率出 ...

  3. 【志银】NYOJ《题目524》A-B Problem

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 My思路: 先用两个字符串储存这两个实数,然后再用另外两个字符串储存去掉符号和前后多 ...

  4. 【志银】NYOJ《题目860》又见01背包

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=860 方法一:不用滚动数组(方法二为用滚动数组,为方法一的简化) 动态规划分析:最少要拿总 ...

  5. NYOJ题目57 6174问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAJLCAIAAACE5qzaAAAgAElEQVR4nO3dMXKrutvH8XcT6bOQ1C ...

  6. 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结

    (软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...

  7. 【志银】MySQL命令总结

    ===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...

  8. 【志银】Dev-Cpp配置OpenGL图形库(成功版本:Dev-Cpp 5.7.1 MinGW 4.8.1)

    ★配置前须知:Dev-Cpp自带OpenGL的使用和OpenGL简介 (附Dev-Cpp下载地址:http://sourceforge.net/projects/orwelldevcpp/?sourc ...

  9. nyoj 题目2 括号配对问题

    描述 今天发现了nyoj,如获至宝.准备开刷. 括号配对问题 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的 ...

随机推荐

  1. ActionBar 的应用

    转载:http://blog.csdn.net/yuxlong2010 作为Android 3.0之后引入的新的对象,ActionBar可以说是一个方便快捷的导航神器.它可以作为活动的标题,突出活动的 ...

  2. CodeForces 501B Misha and Changing Handles(STL map)

    Misha hacked the Codeforces site. Then he decided to let all the users change their handles. A user ...

  3. 冒泡排序_C语言_数组

    冒泡排序_C语言_数组 #include <stdio.h> //冒泡排序 小->大 void sort(int * pArray, int len); int main(int a ...

  4. reactor模式---事件触发模型

    Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些.通过了解,这个模式更像一个侍卫,一直在等待你的召唤. ...

  5. PHP导出数据到表格的实例

    我发现最近的项目需要导出Excel表的页面非常的多,想来这个也是我们常用的功能了,现在我可以很熟练的导出了,但是记得当时自己第一次导出时还是绕了一些弯路的,那么现在我就来记录下我这次用exshop框架 ...

  6. Django自带后台使用配置

    参考官网地址:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ ,本文章值是介绍简单配置,如果需要详细内容可以查阅官方文档 自动管理界 ...

  7. django中的ContentType使用

    使用背景 最近设计表的时候遇到一个问题,有两门课程  一门专业课,一门学位课,我们按照时间长度来进行售卖,比如专业课一个月19元,两个月35元,三个月50元. 可以这么做但是领导不让我这么设计.... ...

  8. while,格式化输出

    1. while循环: while 条件: 代码块(循环体) num=1 while num<=5: print(num) num+=1 break:结束循环;停止当前本层循环 continue ...

  9. 如何防御网站被ddos攻击 首先要了解什么是流量攻击

    什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...

  10. 【Python让生活更美好01】os与shutil模块的常用方法总结

    Python作为一种解释型的高级语言,脚本语言,又被称作“胶水语言”,就是因为其灵活的语法和其依靠浩如烟海的第三方包实现的丰富多彩的功能,而os和shutil就是这样一种功能强大的模块,可以非常快捷地 ...