首页 > 其他 > 详细

Codeforces 385B Bear and Strings(字符串)

时间:2014-01-31 15:24:09      阅读:509      评论:0      收藏:0      [点我收藏+]

题目连接:Codeforces 385B Bear and Strings


题目大意:给出一个字符串,问说该字符串中有多少个子串包含“bear”。


解题思路:遍历,每次找到“bear”,就用该串前面个字符数x,以及该串后面的字符数y,ans += (x+1)*(y+1)- 前一个“bear”所在位置的字符串(重复的)


#include <stdio.h>
#include <string.h>
#include <iostream>

using namespace std;
typedef long long ll;

const int N = 50005;

int main() {
	char str[N];
	scanf("%s", str);	

	ll x = 0, len = strlen(str), ans = 0;
	for (ll i = 0; i < len - 3; i++) {
		if (str[i] == ‘b‘ && str[i+1] == ‘e‘ && str[i+2] == ‘a‘ && str[i+3] == ‘r‘) {
			ans += ((i + 1) * (len - i - 3) - x * (len - i - 3));
			x = i + 1;
		}
	}
	cout << ans << endl;
	return 0;
}


Codeforces 385B Bear and Strings(字符串)

原文:http://blog.csdn.net/keshuai19940722/article/details/18882463

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!