gpt4 book ai didi

c++ - 在 spoj 上解决 BRCKTS

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:10 25 4
gpt4 key购买 nike

我正在尝试 http://www.spoj.com/problems/BRCKTS/ ,我得到了逻辑,但这在输入字符串时会出现段错误。我认为问题在于在数组中插入字符,无法弄清楚。

int main() {
int t = 10;
int l = 1;
do{
int length_bracket;
char d;
cin>>length_bracket;
vector<char> word;
string output;

for( int i =0; i<length_bracket; i++) {
cin.get(d);
word.push_back(d);
}

int num_operations;
cin>>num_operations;
do{
int n;
cin>>n;

if(n == 0) {

if(word[0] == ')' || word[length_bracket] == '(') {

output = output + "NO" + '\n';
}
else {
int l1 = 0; int l2 = 0;
for(int i=0; i<length_bracket; i++) {
if(word[i] == ')') {
l1 = l1+1;
}
else {
l2 = l2+1;
}
}
if(l1 == l2 && l1 != 0 && l2 != 0 ) {
output = output + "YES" + '\n';
}
else {
output = output + "NO" + '\n';
}
}
}

else {
if(word[n-1] == '(')
word[n-1] = ')';
else
word[n-1] = '(';
}
num_operations--;
}while(num_operations);

cout<<"Test"<<l<<endl;
l++;

cout<<output;

t--;
}while(t);

return 0;
}

最佳答案

只是简单地浏览了一下代码,我发现您正在访问 word[length_bracket]word 仅包含 length_bracket 个字符,因此您应该改为检查 word[length_bracket-1]

关于c++ - 在 spoj 上解决 BRCKTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com