#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1005;
#define LOCAL
int main() {
#ifdef LOCAL
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
#endif
/*
“?”先全部看成是“(”或“)”
l&r 都是未匹配的个数
然后l记录把?看成)后未配对的(的个数
然后r记录把?看成(后未配对的(的个数
*/
string s; cin >> s;
int len = s.size();
int ans = 0;
for(int i = 0; i < len; i++)
{
int l = 0, r = 0;
for(int j = i; j < len; j++)
{
if(s[j] == '(') l++, r++; // 未匹配++
if(s[j] == ')') l--, r--; // 未匹配--
if(s[j] == '?') l--, r++; // 看做)则l-- 看做(则r++
if(l < 0 && r > 0) l+=2;// if【把?当成)而导致l<0】 则将一个?从)变成(
if(r < 0) break; // 未匹配的)多出
if(l == 0) ans++; // 符合条件
}
}
cout << ans << endl;
}
// exemple ((????Codeforces#459C 917A The Monster 左右括号匹配
本文介绍了一种使用C++实现的括号匹配算法,通过遍历字符串中的括号及问号,将问号视为可变括号来计算合法括号序列的数量。该算法通过调整问号的位置以达到括号的最大匹配效果。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
ACE-Step
音乐合成
ACE-Step
ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

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



