版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37960603/article/details/82497186
题目传送门
贪心
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=5000000+100;
char ch[maxn];
int ph[maxn];
int main(){
int n;
scanf("%d",&n);
getchar();
int tot=0;
int ans=0;
int ci=0;
for(int i=1;i<=n;i++){
scanf("%c",&ch[i]);
if(ch[i]=='(') ph[tot++]=i;
}
for(int i=1;i<=n;i++){
if(ch[i]=='(') ans++;
else{
ans--;
if(ans<0) ans+=2,ci++,swap(ch[i],ch[ph[--tot]]);
}
}
printf("%d\n",ci);
}