- 张家宁 的博客
八月DAY3
- @ 2024-8-7 20:52:25
统计单词数
思路
爆搜
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("cal.in","r",stdin);
freopen("cal.out","w",stdout);
string a,b;
cin>>a;
getchar();
getline(cin,b);
a=' '+a+' ';
b=' '+b+' ';
int ans=0,cnt=0,op=-1;
int len=b.size();
for(int i=0;i<a.size();i++){
if('A'<=a[i]&&a[i]<='Z'){
a[i]+=32;
}
}
for(int i=0;i<b.size();i++){
if('A'<=b[i]&&b[i]<='Z'){
b[i]+=32;
}
}
for(int i=0;i<len;i++){
if(a[cnt]==b[i]){
cnt++;
}else{
cnt=0;
if(a[cnt]==b[i]){
cnt++;
}
}
if(cnt==a.size()){
ans++;
cnt=0;
i--;
if(op==-1){
op=i-a.size()+2;
}
}
}
if(op==-1){
cout<<-1;
}else{
cout<<ans<<" "<<op;
}
return 0;
}
反思
没有想到样例可能有包含情况。