为什么TLE了

P1308 [NOIP2011 普及组] 统计单词数

```cpp #include<bits/stdc++.h> using namespace std; int main() { string s,t; getline(cin,s); getline(cin,t); for(int i=0;i<s.size();i++) { if(s[i]>='A'&&s[i]<='Z') { s[i]+=32; } } s=' '+s+' '; int sum=0,first=0; t=' '+t+' '; for(int i=0;i<t.size();i++) { if(t[i]>='A'&&t[i]<='Z') { t[i]+=32; } } for(int i=0;i+s.size()-1<=t.size()-1;i++) { int flag=1; for(int j=0;j<s.size();j++) { if(s[j]!=t[i+j]) { flag=0; } } if(flag) { sum++; if(sum==1) { first=i; } } } if(sum>0) { cout<<sum<<" "<<first; }else{ cout<<"-1"; } return 0; } ```
by nightwatch_ryan @ 2023-08-24 19:42:06


用字符判断不为‘\n’不是好习惯,可以用字符串来输入,这样更保险。 本蒟蒻的瓜皮代码: ```cpp #include<bits/stdc++.h> using namespace std; string ans,s; int main() { getline(cin,ans); for(int i=0;i<ans.size();i++) { if(ans[i]>='A'&&ans[i]<='Z') { ans[i]+=32; } } getline(cin,s); string ch; int cnt=0,ret=1000001; for(int i=0;i<s.size();i++) { if(s[i]==' ') { for(int i=0;i<ch.size();i++) { if(ch[i]>='A'&&ch[i]<='Z') { ch[i]+=32; } } if(ch==ans) { cnt++; ret=min(ret,int(i-ch.size())); } ch.clear(); } else { ch+=s[i]; } } if(cnt) cout<<cnt<<" "<<ret<<endl; else cout<<-1<<endl; return 0; } ```
by wjh13515775168 @ 2023-08-24 19:44:57


|