题目大意:
寻找含有”bear”这个子串的所有子串的个数
解题思路:
直接枚举+暴模
源程序:
#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
string s;
int ans;
bool pos(int i)
{
if (s[i]=='b'&&s[i+1]=='e'&&s[i+2]=='a'&&s[i+3]=='r')
return 1;
return 0;
}
int main()
{
//freopen("string.in","r",stdin);
//freopen("string.out","w",stdout);
cin>>s;
int len=s.size()-3,len1=len+3;
for (int i=0;i<len;i++)
{
int k=i;
for (int j=i+3;j<len1;j++)
if (pos(k++))
{
ans+=len1-j;//一个小优化
break;
}
}
printf("%d",ans);
return 0;
}