括号匹配——cf1095E
2024-10-21 11:32:39
正解应该是求后缀和前缀
但是多情况讨论好像也能过。。
大概分为:
首先排除不能改的情况
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;
}
最新文章
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
- 【12-JDBC编程】
- int与string之间的类型转换--示例
- 2 CSS
- java web多线程
- ThinkPHP CURD方法盘点:limit方法
- sql server varchar和nvarchar的区别
- 修改sqlserver2008中表的schema
- iframe的一些简单记录
- 基于Haar特征Adaboost人脸检测级联分类
- 一个使用物理引擎的WebGL3D场景
- linux添加字体
- 小甲鱼python基础教程飞机大战源码及素材
- python类属性和类方法(类的结构、实例属性、静态方法)
- Opengl正交矩阵 glOrthof 数学原理(转)
- input输入框只能输入正整数正则
- common.js 2017
- Mybatis接口注解
- JVM知识
- HttpMessageConverter