百度之星编程大赛--百度语言翻译机(解答)

原创 2006年06月17日 23:27:00

百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套独特的缩略语。他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。

为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词翻译成日常语言。

输入要求:
输入数据包含三部分:
1. 第一行包含一个整数N(N<=10000),表示总共有多少个缩略语的词条;
2. 紧接着有N行的输入,每行包含两个字符串,以空格隔开。第一个字符串为缩略语(仅包含大写英文字符,长度不超过10字节),第二个字符串为日常语言(不包含空格,长度不超过255字节);
3. 从第N+2开始到输入结束为包含缩略语的相关文档(总长度不超过1000000个字节)。例:
6
PS 门户搜索部
NLP 自然语言处理
PM 产品市场部
HR 人力资源部
PMD 产品推广部
MD 市场发展部
百度的部门包括PS,PM,HR,PMD,MD等等,其中PS还包括NLP小组。
样例:in.txt

输出要求:
输出将缩略语转换成日常语言后的文档。(将缩略语转换成日常语言,其他字符保留原样)。例:
百度的部门包括门户搜索部,产品市场部,人力资源部,产品推广部,市场发展部等等,其中门户搜索部还包括自然语言处理小组。
样例:out.txt

评分规则:
1.程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过10秒,否则该用例不得分;
2.要求程序能按照输入样例的格式读取数据文件,按照输出样例的格式将运行结果输出到标准输出上。如果不能正确读入数据和输出数据,该题将不得分;
3.该题目共有4个测试用例,每个测试用例为一个输入文件。各测试用例占该题目分数的比例分别为25%,25%,25%,25%;
4.该题目20分。

注意事项:
1.输入数据是中英文混合的,中文采用GBK编码
GBK:是又一个汉字编码标准,全称《汉字内码扩展规范》。采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,排除xx7F。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。

2.为保证答案的唯一性,缩略语的转换采用正向最大匹配(从左到右为正方向)原则。请注意样例中PMD的翻译。

#include <iostream>
#include <string>
#include <map>
using namespace std;

int main()
{

 int n;
map<string,string> data;
string k,w;
string s;

 cin>>n;
 while(n--)
 {
  cin>>k>>w;
  data[k]=w;
 }

cin>>s;

basic_string<char>::iterator ib,ie;
ie=ib=s.begin();
string temp;

for(;ie!=s.end();ie++)
{
 if(*ie>='A'&&*ie<='Z')
 {
  temp+=*ie;
  if(*ib<='A'||*ib>='Z') ib=ie;
 
  
 }
 else
 {
  
 
    if(*ib>='A'&&*ib<='Z')
  {
   s.replace(ib,ie,data[temp]);
      ib=ie=s.begin();
   temp.erase();
  }
  else
    ib=ie;
       
  
  
 }

}
cout<<s<<endl;

 
 return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机

百度语言翻译机     2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机 时限 1s 百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套他们独特的缩率语...

2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机

百度语言翻译机 2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机 时限 1s 百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套他们独特...

百度语言翻译机(C,C++,C#实现)

  • 2011年12月16日 15:47
  • 756KB
  • 下载

算法小记02--学习Python之百度语言翻译机

算法小记02--学习Python之百度语言翻译机 最近在无聊学习pyton语言,看到下面的ACM题目就试试手。 2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机 时限 ...

ACM1、百度语言翻译机

百度语言翻译机  百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套他们独特的缩率语。他们在平时的交谈,会议,甚至在各中技术文档中都会大量运用。  为了让新员工可以更快地...
  • sarahyq
  • sarahyq
  • 2014年07月13日 20:38
  • 289

百度之星_编程大赛题目.doc

  • 2009年12月05日 08:47
  • 195KB
  • 下载

百度之星编程大赛历年试题

  • 2008年07月01日 18:52
  • 983KB
  • 下载

"百度之星"程序设计大赛试题解答(Java实现)---变态的比赛规则(未完成!!!)

悲催啊,弄了整整一下午还是没有完整滴弄出来 不得不承认我智商很一般,搞这个整数划分的算法搞了近1个小时才弄明白,可是,这道变态的题目并不是这样简单啊!!!忍无可忍,只好站在前人的肩膀上了来做了一位是...

“百度之星”程序设计大赛试题解答(Java实现)

本人属于Java初学者,学习Java有一段时间了。为了提高自己编程能力,最近在网上找了一些程序设计大赛的题目来做。 每做出一道,就会把自己的答案贴到博客上来,争取每天一道: 一来丰富一下自己的第一...

百度在线 翻译机

  • 2015年11月13日 01:35
  • 208KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:百度之星编程大赛--百度语言翻译机(解答)
举报原因:
原因补充:

(最多只允许输入30个字)