马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 元豪 于 2023-4-23 10:48 编辑
https://atcoder.jp/contests/abc299/submissions/40891517
总是有4个测试点没有过,大佬帮忙看看吧
题目:
问题陈述
对于正整数L,L级dango字符串是满足以下条件的字符串。
它是一个长度为L+1的字符串,由o和-组成。第一个字符和最后一个字符中正好有一个是-,其他L个字符是o。
例如,ooo-是一个三级dango字符串,但-oo-、oo和o-oo-都不是dango字符串(更准确地说,对于任何正整数L,它们都不是L级dango串)。
您将得到一个长度为N的字符串S,该字符串由两个字符o和-组成。找到满足以下条件的最大正整数X。
S有一个连续的子字符串,它是一个X级的dango字符串。
如果没有这样的整数,请打印-1。( 百度翻译 )
输出 3
也就是连续的"o"后面加上一个"-",有几个o代表这个字符串有几级,输出最大级别,像“ooooo-”表示5级
如果没有,输出-1
my code
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, ans = -1, lian = 0;
string s;
cin >> n >> s;
for (int i = 0; i < n; i++){
if (s[i] == 'o') lian++;
else{
if (lian > ans) ans = lian;
lian = 0;
}
}
if (ans == n || ans == 0){
cout << -1 << endl;
}
else{
cout << ans << endl;
}
return 0;
}
不用看代码就能知道,因为我一开始也是错了 4 个点
试试: 你的程序输出了 -1,但应该是 4,因为 -oooo 也满足 dango 串的定义
|