正解应该是求后缀和前缀

但是多情况讨论好像也能过。。

大概分为:

首先排除不能改的情况

1.改左括号

2.改右括号

/*
将一个位置的括号反过来,使原序列变成合法序列
*/
#include<bits/stdc++.h>
using namespace std;
#define maxn 1000005
int n,cntl,cntr;
char s[maxn]; int main(){
cin>>n>>(s+);
for(int i=;i<=n;i++){
if(s[i]==')')cntr++;
else cntl++;
if(cntr-cntl> || n%){
puts("");
return ;
}
}
if(abs(cntl-cntr)!=){
puts("");
return ;
} int ans=,l=,r=;
if(cntl>cntr){
int tl=,tr=;
for(int i=;i<=n;i++){
if(s[i]==')')tr++;
else tl++;
if(tr>tl){
puts("");
return ;
}
}
for(int i=n;i>=;i--){
if(s[i]=='(')l++;
else r++;
if(l-r>){
ans=l;
break;
}
}
}
else {
for(int i=;i<=n;i++){
if(s[i]=='(')l++;
else r++;
if(r-l>){
ans=r;
break;
}
}
} cout<<ans<<endl;
}

最新文章

  1. 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
  2. 【12-JDBC编程】
  3. int与string之间的类型转换--示例
  4. 2 CSS
  5. java web多线程
  6. ThinkPHP CURD方法盘点:limit方法
  7. sql server varchar和nvarchar的区别
  8. 修改sqlserver2008中表的schema
  9. iframe的一些简单记录
  10. 基于Haar特征Adaboost人脸检测级联分类
  11. 一个使用物理引擎的WebGL3D场景
  12. linux添加字体
  13. 小甲鱼python基础教程飞机大战源码及素材
  14. python类属性和类方法(类的结构、实例属性、静态方法)
  15. Opengl正交矩阵 glOrthof 数学原理(转)
  16. input输入框只能输入正整数正则
  17. common.js 2017
  18. Mybatis接口注解
  19. JVM知识
  20. HttpMessageConverter

热门文章

  1. centos8 安装vmware需要的内核头文件 kernel-headers.
  2. Cacti 添加 CPU 监听
  3. jq-在线引入
  4. leetcode-158周赛-5225-最大相等频率
  5. Android Activity XML配置
  6. delphi 单元 MSHTML 之Ihtmldocument2
  7. 全球首个开放应用模型 OAM 开源
  8. 「题解」:x
  9. 【Codeforces 1148B】Born This Way
  10. XML文件定义约束