百度语言翻译机

百度语言翻译机

2006 年百度之星程序设计大赛初赛题目 6 

百度语言翻译机 

时限 1s 

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

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

输入数据: 

输入数据包含三部分 

1. 第一行包含一个整数 N ( N<=10000 ),表示总共有多少个缩率语的词条。 

2. 紧接着有 N 行的输入,每行包含两个字符串,以空格隔开。第一个字符串为缩率语(仅包含大写英文字符,长度不超过 10 ),第二个字符串为日常语言(不包含空格,长度不超过 255 ) . 

3. 从第 N+2 开始到输入结束为包含缩略语的相关文档。(总长度不超过 1000000 个字符) 

输出数据: 

输出将缩率语转换成日常语言的文档。(将缩率语转换成日常语言,其他字符保留原样) 

输入样例





PS 门户搜索部 

NLP 自然语言处理 

PM 产品市场部 

HR 人力资源部 

PMD 产品推广部 

MD 市场发展部 

百度的部门包括 PS , PM , HR , PMD , MD 等等,其中 PS 还包括 NLP 小组。 



输出样例



百度的部门包括门户搜索部,产品市场部,人力资源部,产品推广部,市场发展部等等,其中门户搜索部还包括自然语言处理小组。



注意: 

1 . 输入数据中是中英文混合的,中文采用 GBK 编码。 

2 . 为保证答案的唯一性,缩率语的转换采用正向最大匹配(从左到右为正方向)的原则。请注意输入例子中 PMD 的翻译。 
#include<iostream>
#include<string>using namespace std;int main()
{int n;cout<<"input a number:";cin>>n;while((n>1000)||n<1){cout<<"please input a real number:";cin>>n;}string s_name[1000],f_name[1000];for(int i=0;i<n;i++){cin>>s_name[i]>>f_name[i];}//防止比较过程中断的先被找到,要对缩略语进行从长到段的排序 冒泡排序for(int i=0;i<n-1;i++)for(int j=i+1;j<n;j++){if(s_name[i].length()<s_name[j].length()){swap(s_name[i],s_name[j]);swap(f_name[i],f_name[j]);}}string s;cout<<"\n please input the content:"<<endl;cin>>s;for(int i=0;i<n;i++){while(s.find(s_name[i])!=string::npos){int index=s.find(s_name[i]);s.erase(index,s_name[i].length());//删除简写的名称s.insert(index,f_name[i]);//插入全称}}cout<<"the full content is:"<<endl;cout<<s<<endl;return 0;
}

不使用string类的方法 用结构体实现

#include<iostream>
using namespace std;struct Baidu
{char s_name[10];char f_name[100];
};void sort_name(Baidu baidu[],int n)
{for(int i=0;i<n-1;i++)for(int j=i;j<n;j++){if(strlen(baidu[i].s_name)<strlen(baidu[j].s_name))swap(baidu[i],baidu[j]);}
}void replace_name(Baidu baidu[],char s[],int n)
{int length;char tmp[1000];for(int i=0;i<n;i++){char *p=strstr(s,baidu[i].s_name);while(p!=NULL){length=strlen(baidu[i].s_name);*p=0;strcpy(tmp,p+length);//把简称后面的内容全部拷贝到tmp内//strcat(s,baidu[i].f_name);
            strcat(p,baidu[i].f_name);//strcat(s,tmp);strcat(p+strlen(baidu[i].f_name),tmp);p=strstr(s,baidu[i].s_name);}}
}int main()
{int n;cout<<"input the number of s-f word:";cin>>n;Baidu baidu[10];for(int i=0;i<n;i++)cin>>baidu[i].s_name>>baidu[i].f_name;sort_name(baidu,n);cout<<"input the content:"<<endl;char s[1000];cin>>s;replace_name(baidu,s,n);cout<<"replaced content is:"<<endl;cout<<s;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之如何使用快速联系徽章

翻译地址:http://code.tutsplus.com/tutorials/android-quick-tip-using-the-quick-contact-badge--mobile-2245 如果你花任何时间在一个Android设备,您可能已经注意到你可以点击小图片联系如何启动一个工具栏与很多不同的行为,如电话、短信、邮件的人。 在这个快速提示,您…

dotnet 使用 Infer# 自动分析代码缺陷

本文告诉大家如何使用 Infer# 开源库配合 GitHub 的 Action 实现自动分析代码缺陷&#xff0c;如找到可空引用或线程安全等问题这是一个在 GitHub 上完全开源的仓库&#xff0c;请看 https://github.com/microsoft/infersharp刚好今天收到了 Infer# 发布 1.2 版本博客&#xff…

发了篇paper,双非二本的她直博浙大

全世界只有3.14 % 的人关注了爆炸吧知识大家好&#xff0c;我是小南&#xff0c;本科就读于国内某双非二本院校&#xff0c;于2019年拿到了浙江大学的直博录取函。很多人问我从二本院校成功跨越到国内知名高校的秘诀是什么&#xff0c;我个人觉得&#xff0c;除开运气&#xff…

FZU 2095 水面高度

一共六种情况。手算即可。 #include<cstdio> #include<cstring> #include<cmath>int T; double a,b,c,d,x; double ans;int main() {scanf("%d",&T);while(T--){scanf("%lf%lf%lf%lf%lf",&a,&b,&c,&d,&x);doubl…

android+清除循环动画,android - 如何使用ViewPropertyAnimator生成循环动画?

我想构建一个TextViews动画&#xff0c;在完成后会自动重复。对于我要设置动画的每个View&#xff0c;我使用以下代码final float oldX v.getX();final float newX v.getX() - (float)totalWidth;final AnimatorListenerAdapter listener new AnimatorListenerAdapter() {Ov…

(转)matlab各类数学公式

matlab矩阵应用clear%建立矩阵的两种方式A1 [1 2 3 4 5; 6 7 8 9 10];A2 [ 1 2 3 4 5 6 7 8 9 10 ];%一种是换行用引号&#xff0c;一种是自然写法 clearA [5 4 3 2 1; 6 7 8 9 10;1 2 3 4 5;24 24 24 24 24;25 25 25 25 25];B [5 4 3 2 1; 6 7 8 9 10;…

PS网页设计教程XVI——在PS中创建一个摩登实验室风格的网页设计

作为编码者&#xff0c;美工基础是偏弱的。我们可以参考一些成熟的网页PS教程&#xff0c;提高自身的设计能力。套用一句话&#xff0c;“熟读唐诗三百首&#xff0c;不会作诗也会吟”。 本系列的教程来源于网上的PS教程&#xff0c;都是国外的&#xff0c;全英文的。本人尝试翻…

好评率超高的9个公众号,值得收藏

不管世界变化多快&#xff0c;阅读仍是个不过时的动作。今天就为大家推荐几个优质公众号&#xff0c;从社会热点、读书成长、生活新知&#xff0c;你的碎片化时间&#xff0c;我们包了&#xff01;一起来看看呀~长按二维码&#xff0c;“识别图中二维码”即可订阅————电商头…

.NET 6新特性试用 | 文件范围的命名空间

前言在前面的《隐式using指令》文章中&#xff0c;我们介绍了global using&#xff0c;可以减少我们代码文件中的“噪音”&#xff0c;使代码更简洁。今天&#xff0c;我们介绍.NET 6中另一个简化代码的方式——文件范围的命名空间。Demo当我们向项目中添加一个类文件时&#x…

php的几种运行模式CLI、CGI、FastCGI、mod_php

1、CLI:就是命令行&#xff0c;例如可以在控制台或者是shell中键入命令: php -f index.php 然后获取输出 2、CGI:以下是不同的说法与理解 公共网关接口”(Common Gateway Interface)&#xff0c;HTTP服务器 与你的或其它机器上的程序 进行 “交谈”的一种工具 &#xff0c;其程…

Android之三大图片缓存原理、特性对比

一. 四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存&#xff0c;在早期被很多应用使用。Picasso 是 Square 开源的项目&#xff0c;且他的主导者是 JakeWharton&#xff0c;所以广为人知。Glide 是 Google 员工的开源项目&#xff0c;被一些 Google App 使用…

android宿舍管理系统源码,基于android操作系统的手机宿舍管理系统使用手册

《基于android操作系统的手机宿舍管理系统使用手册》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《基于android操作系统的手机宿舍管理系统使用手册(5页珍藏版)》请在人人文库网上搜索。1、基于an droid操作系统的手机宿舍管理系统使用手册 1 系统概述 本系统是在an…

产品需求文档 PRD

第一轮&#xff1a; 1&#xff0c;文档使用方&#xff1a;UI设计师 2、内容&#xff1a; 根据战略层定义出来产品功能范围&#xff0c; 说明此产品的目的&#xff0c;方便UI设计人员更好的理解产品 产品基本流程 详细的设计框架图&#xff0c;推荐用ax…

他读博期间连发3篇Science,28岁任武大教授后再发Nature!

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;募格课堂整合自武汉大学、武汉晚报、半月谈等有这样一位学者&#xff0c;读博期间以一作身份发表3篇Science,28岁成为武汉大学化学与分子科学学院教授再发2篇Nature&#xff0c;35岁荣获杰青......今年9月&#xff0c;他…

如何限制并发的 异步IO 请求数量?

咨询区 Grief Coder&#xff1a;我的项目中有下面一段代码&#xff1a;// lets say there is a list of 1000 URLs string[] urls { "http://google.com", "http://yahoo.com", ... };// now lets send HTTP requests to each of these URLs in parallel …

Android之自定义 ActionBar 上的菜单(Menu)文字颜色

本文记录了修改 ActionBar 上 Menu 字体颜色的方法。第一种通过自定义主题实现&#xff0c;第二种通过复写onCreateOptionsMenu实现。 自定义Theme 修改MenuItem 文字颜色 自定义 ActionBar 上的菜单文字颜色需要通过 Activity 的 Theme 实现&#xff0c;而非 ActionBar 的 The…

删除远程桌面登陆痕迹

怎么删除本地远程桌面地址记录(连接地址输入框的下拉菜单)。 首先运行regedit&#xff0c;打开注册表&#xff0c;找到 HKEY_CURRENT_USER&#xff3c;Software&#xff3c;Microsoft&#xff3c;Terminal Server Client&#xff3c;Default 右边的那些键值就记录了IP或者域名&…

Java Web开发Tomcat中三种部署项目的方法

第一种方法&#xff1a;在tomcat中的conf目录中&#xff0c;在server.xml中的&#xff0c;<host/>节点中添加&#xff1a; <Context path"/hello" docBase"D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug"0" privileged&q…

Android 页面布局xd,Adobe XD强大的布局系列工具 助你事半功倍

数字设计有多种形式-从移动端、桌面网站到显示屏应用程序、智能助手、车载娱乐系统(例如CarPlay和Android Auto)等等。为当今的应用程序打造数字体验意味着需要针对各种屏幕尺寸、布局和交互类型进行设计。作为设计师&#xff0c;您的时间应该花在用户体验上&#xff0c;而不是…

JS中数组Array的用法{转载}

js数组元素的添加和删除一直比较迷惑&#xff0c;今天终于找到详细说明的资料了&#xff0c;先给个我测试的代码^-^var arr new Array();arr[0] "aaa";arr[1] "bbb";arr[2] "ccc";//alert(arr.length);//3arr.pop();//alert(arr.length);//2…