社区讨论

样例都过但0pts全wa求调或hack(码风简洁舒适)

P1944最长括号匹配参与者 1已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@lo1njjyx
此快照首次捕获于
2023/10/22 23:57
2 年前
此快照最后确认于
2023/11/03 00:40
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
int n,ans,tag;
stack<char> sta;

int opt[1000005];

signed main(){
	cin >> s;
	n = s.size();
	s = ' ' + s;
	for(int i = 1;i <= n;i++){
		if(!sta.size())
			sta.push(s[i]);
		else if(s[i] == ')' && sta.top() == '(' || s[i] == ']' && sta.top() == '['){
			opt[i] = opt[i - 1] + 2;
			sta.pop();
		}
		else {
			sta.push(s[i]);
		}
		if(opt[i] > ans)
			ans = opt[i],tag = i;
	}
	
	for(int i = tag - ans + 1;i <= tag;i++){
		cout << s[i];
	}
	cout << endl;
	return 0;
}

回复

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

正在加载回复...