P1308 [NOIP2011 普及组] 统计单词数
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1308 [NOIP2011 普及组] 统计单词数相关的知识,希望对你有一定的参考价值。
代码
1.因为匹配单词时不区分大小写,所以需要先将单词和句子都转换为同大写或者同小写。
2.因为只能匹配独立的单词,所以需要判断找到的单词前后都得是空格符,并且找到了一个单词后就要将它改变。
3.如果找到的是一个单词的一部分,也需要将之改变。
#include<bits/stdc++.h>
using namespace std;
void f(string &s){
int i;
while(s[i]){
if(s[i]>='A'&&s[i]<='Z')
s[i]+=('a'-'A');
i++;
}
}
int main(){
string a,s;
int d=-1,cnt=0;
int n=0,m;
getline(cin,a);
f(a);
getline(cin,s);
f(s);
while(1){
if(s.find(a)>=0&&s.find(a)<s.length()&&s[s.find(a)+a.length()]==' '&&s[s.find(a)-1]==' '){
cnt++;
if(d==-1) d=s.find(a);
s[s.find(a)]='0';
}else if(s.find(a)>=0&&s.find(a)<s.length()){
s[s.find(a)]='0';
}else break;
}
if(cnt) cout<<cnt<<" "<<d;
else cout<<-1;
return 0;
}
以上是关于P1308 [NOIP2011 普及组] 统计单词数的主要内容,如果未能解决你的问题,请参考以下文章