http://codeforces.com/problemset/problem/245/E
画个函数图像你就知道代码怎么写了。
/*30ms,0KB*/
#include<bits/stdc++.h>
using namespace std;
const int mx = 305;
char s[mx];
int main()
{
gets(s);
int cnt = 0, ans = 0;
for (int i = 0; s[i]; ++i)
{
if (s[i] == '+')
{
++cnt;
ans = max(ans, cnt);
}
else
{
--cnt;
if (cnt < 0)
{
cnt = 0;
++ans;
}
}
}
printf("%d\n", ans);
return 0;
}

本文提供了一种解决CodeForces 245E问题的有效方法,通过分析字符串中的+和-符号来计算最大连续正数段的数量,并给出了一段简洁的C++代码实现。
1027

被折叠的 条评论
为什么被折叠?



