Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
3442 | 邓小龙 | 统计特定单词数 | C++ | Wrong Answer | 0 MS | 260 KB | 1636 | 2024-06-08 11:40:29 |
# include<iostream> # include<cstring> using namespace std; string s1,s2; int cnt=0,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{//遇到空格,表示已经统计了一个单词 cout<<ss<<endl; if(ss==s1){ cnt++; cout<<cnt<<endl; if(pos=-1) pos=i-len_s1; } ss=""; } } //特殊处理最后一个单词 cout<<ss<<endl; if(ss==s1){ cnt++; cout<<cnt<<endl; if(pos=-1) pos=i-len_s1; } } int main(){ getline(cin,s1); getline(cin,s2); s1=lwl(s1); s2=lwl(s2); int len_s1=s1.size(),len_s2=s2.size(); /* pos=s2.find(s1); //cout<<pos<<endl; if(pos<len_s2&&pos>=0){ int poss=pos; while(1){ cnt++; poss=poss+len_s1; //if(poss>=len_s2) break;//超出了s2范围,结束 string temp=s2.substr(poss,len_s2-poss); if(temp.find(s1)>=len_s2)break;//超出了s2范围,结束 poss=poss+temp.find(s1); //cout<<poss<<endl; } } */ fun(s1,s2); if(cnt<=0){ cout<<-1<<endl; } else cout<<cnt<<" "<<pos<<endl; return 0; }
------Input------
alun OK Alun is the best teacher of TCJY
------Answer-----
1 3
------Your output-----
ok alun 1 is the best teacher of tcjy 1 3