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. JavaScript闭包简单学习

    因为实验室项目要用,所以最近在学习OpenLayers,但是从来没有做过前端呀,坑爹的,硬着头皮上吧 反正正好借这个机会学习一下JS,本来对这门语言也挺感兴趣的,多多少少写过一下JS代码了,差不多学一 ...

  2. Centos安装VMware

    转载:http://www.mamicode.com/info-detail-2171464.html

  3. Django-rest-framework(八)使用技巧(持续补充中)

    当viewset中,多个action对应了不同的serializers的时候 class UserView(viewsets.GenericViewSet): queryset = User.obje ...

  4. DBF导入到Oracle数据库

    今天我遇到了一个需求,是将一个DBF文件导入到Oracle库中,之前一直使用的是公司提供的迁移工具,但是不知道怎么回事今天一直报DBF文件无法访问之类的错误,尝试多次之后,一气之下弃之不用,另寻他法. ...

  5. 核心动画(UIView封装动画)-转

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持. 执行动画所需要的工作由UIView类自动完成 ...

  6. iOS | CAShapeLayer转场动画

    什么也不说了,作为一名乐于分享技术的小开发,直接先上个样式最为直观贴切,有需要的朋友可以直接拿过去用. 需要demo请点击这里 :github 在这个demo中,核心为选用画布CAShapeLayer ...

  7. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用

    [iOS开发]iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的 ...

  8. React中需要多个倒计时的问题

    最近有一个需求是做一个闪购列表,列表中每一个商品都有倒计时,如果每一个倒计时都去生成一个setTimeout的话,一个页面就会有很多定时器,感觉这种做法不是非常好,于是换了一个思路. 思路是这样的,一 ...

  9. 【剑指offer】 Java实现重建二叉树

    GitHub上的代码链接 /** * @Author: DaleyZou * @Description: 重建二叉树 * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. * 假设输入的前序 ...

  10. poj 3177 Redundant Paths 求最少添加几条边成为双联通图: tarjan O(E)

    /** problem: http://poj.org/problem?id=3177 tarjan blog: https://blog.csdn.net/reverie_mjp/article/d ...