Codeforces Round #226 (Div. 2)B. Bear and Strings

 /*
  题意就是要找到包含“bear”的子串,计算出个数,需要注意的地方就是不要计算重复。
*/
1
#include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define maxn 5005 5 6 char str[maxn]; 7 int pos[maxn]; 8 int main() 9 { 10 while(~scanf("%s",str)) 11 { 12 int p = 1; 13 memset(pos, 0, sizeof(int)); 14 int len = (int)strlen(str); 15 for(int i = 0;i < len;i++){ 16 if(str[i] == 'b' && str[i+1] == 'e' && str[i+2] == 'a' && str[i+3] == 'r') 17 pos[p++] = i; 18 } 19 // for(int i = 0;i < p;i++) 20 // printf("%d ",pos[i]); 21 int ans = 0; 22 int num; 23 pos[0] = -1; 24 for(int i = 1;i < p;i++){ 25 num = (len - pos[i] - 3)*(pos[i]-pos[i-1]); 26 //printf("%d*\n",num); 27 ans += num; 28 } 29 printf("%d\n",ans); 30 } 31 return 0; 32 }

 

转载于:https://www.cnblogs.com/Roly/p/3596281.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值