Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
3543 邓小龙 统计特定单词数 C++ Accepted 0 MS 252 KB 1301 2024-06-15 10:49:45

Tests(11/11):


Code:

# include<iostream> # include<cstring> using namespace std; string s1,s2; int cnt=0,pos=-1;//pos=-1代表还没找到 string lwl(string s){ int len_s=s.size(); for(int i=0;i<len_s;i++){ if(s[i]>='A'&&s[i]<='Z') s[i]=s[i]+32; } return s; } void fun(string s1,string s2){//统计s2当中包含多少个s1 int len_s1=s1.size(),len_s2=s2.size(); string ss; int i=0; for(i=0;i<len_s2;i++){ if(s2[i]!=' '){ ss=ss+s2[i]; } else{//遇到空格,表示已经统计了一个单词 if(ss==s1){ cnt++; if(pos==-1) pos=i-len_s1;//首个位置 } ss="";//重置 } } //特殊处理最后一个单词 if(ss==s1){ cnt++; if(pos==-1) pos=i-len_s1; } } void fun2(string s1,string s2){//统计s2当中包含多少个s1 // s1=' '+s1+' '; s2=' '+s2+' '; int p=s2.find(s1); pos=p; while(p!=-1){ cnt++; p=s2.find(s1,p+1); } } int main(){ getline(cin,s1); getline(cin,s2); s1=lwl(s1); s2=lwl(s2); fun2(s1,s2); if(cnt==0){ cout<<-1<<endl; } else cout<<cnt<<" "<<pos<<endl; return 0; }