cf B Bear and Strings

题意:给你一个字符串,然后找多少区间内含有“bear”,输出数目;

 #include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; char str[];
int pos[]; int main()
{
while(scanf("%s",str)!=EOF)
{
int k=strlen(str);
memset(pos,,sizeof(pos));
int cnt=;
for(int i=; i+<=k; i++)
{
if(str[i]=='b'&&str[i+]=='e'&&str[i+]=='a'&&str[i+]=='r')
{
pos[cnt++]=i+;
}
}
int ans=;
int last=;
for(int i=; i<cnt; i++)
{
if(pos[i]-==)
{
ans+=(k-pos[i]); last=pos[i]-;
}
else
{
if(i==)
{
ans+=(pos[i]-+)*(k-pos[i]);
}
else
ans+=(pos[i]--last)*(k-pos[i]);
last=pos[i]-;
}
}
printf("%d\n",ans);
}
return ;
}
上一篇:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)


下一篇:linux文件颜色与类型