社区讨论

这个算法假不假

灌水区参与者 9已保存回复 26

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
22 条
当前快照
1 份
快照标识符
@m2kft159
此快照首次捕获于
2024/10/22 20:44
去年
此快照最后确认于
2025/11/04 23:48
4 个月前
查看原帖
rt,今天 T3 打了一个特别假的算法,好像还被自己 hack 了,结果最后 A 了,所以这个算法到底假不假

题面如下:
给你一个只含小括号的括号字符串,求至少修改多少个括号才能使括号字符串合法?例如,())( 需要修改后两个字符才能合法
我的代码如下:
CPP
#include<cstdio>
#include<cstring>
using namespace std;

#define N 100005

char s[N];
int lens;
int top;

signed main()
{
	scanf("%s",s+1);
	lens=strlen(s+1);
	int ans=0;
	for(int i=1;i<=lens;++i)
		if(s[i]=='(')
			++top;
		else
		{
			if(top)
				--top;
			else
				++top,
				++ans;
		}
	printf("%d",ans+(top>>1));
	return 0;
}

回复

26 条回复,欢迎继续交流。

正在加载回复...