CloudLunar
主页
知识库
人文社科
自然科学
跨学科领域
热门分类
算法及题库
云璟月's
墨色集(设计)
指尖集(代码)
未央集(随笔)
流觞集(语录)
如花集(书影)
纸鸢集(小说)
登录
B站
微博
人人
开心
Twitter
Facebook
RSS订阅链接
留言板
关于我
在社交网站上关注我
B站
微博
人人
开心
Twitter
Facebook
RSS订阅
RSS订阅链接
留言板
关于我
查看WHULand/1522的源代码
←
WHULand/1522
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
[[分类:字符串处理]] ==摘要== {{信息题|Wallace and His Pet|http://acm.whu.edu.cn/land/problem/detail?problem_id{{=}}1522|1|100|没考虑大写情况|0|2014-10-30 19:44:28}} ==题意== 把每个句子中出现次数最多的单词替换成guagua。 ==题解== map+string搞定(string库用法见[[CodeVS/1204]],STL用法详见[[CodeVS/1075]]参考链接)。 第一次没考虑大小写的问题,做法是先整句处理成小写,然后搜索匹配小写后的句子,替换原句相应处的字符,这样大小写不会乱。 大小写转换用的是algorithm和cctype库里的一个函数,用法是: <pre> transform(被转换字符串.begin(),被转换字符串.end(),存储位置.begin(),towlower或towupper); //例如: transform(str.begin(),str.end(),str.begin(),towlower); </pre> 至于读取一行后再分割的技巧,在[[CodeVS/1205]]谈过了,就不再细说。 ==代码== {{折叠|1522.cpp代码已折叠 |<pre> #include<sstream> #include<iostream> #include<cstdio> #include<string> #include<map> #include<algorithm> #include<cctype> using namespace std; int main() { int n; scanf("%d\n",&n); while(n--) { map<string,int> u; string s,maxps; getline(cin,s,'\n'); string ls=s; transform(ls.begin(),ls.end(),ls.begin(),towlower); stringstream sio; sio<<ls; string p; int last=0,maxp=0; while(sio>>p) { if(p[p.size()-1]=='.') p.erase(p.size()-1,1); ++u[p]; if(u[p]>maxp) { maxp=u[p]; maxps=p; } } while(ls.find(maxps,last)!=string::npos) { last=ls.find(maxps,last); ls.replace(last,maxps.size(),"guagua"); s.replace(last,maxps.size(),"guagua"); ++last; } cout<<s<<endl; } return 0; } </pre> |code1522}}
该页面使用的模板:
模板:=
(
查看源代码
)
模板:信息题
(
查看源代码
)
模板:折叠
(
查看源代码
)
返回
WHULand/1522
。
著作权声明
[
编辑
]
除非另有说明,本
网站内容
采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可(中国大陆可以参照
知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议
,如有不同以前者为准)。
如果需要商业化使用,请另联系作者取得授权。
关于
[
编辑
]
联系
@云璟月Lunar
的新浪微博
本站RSS:
RSS链接