BOJ 1541:紛失した括弧-C++
失われたかっこ
コード#コード# #include <string>
#include <vector>
#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <sstream>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
string str;
cin >> str;
stringstream ss(str);
vector<string> v;
int n; char c;
ss >> n;
int sum = n;
int save=0;
while(!ss.eof())
{
ss >> c;
ss >> n;
if(c == '+'){
if(save == 0) sum += n;
else save += n;
}else if(c == '-'){
if(save == 0) save += n;
else {
sum -= save;
save = n;
}
}
}
if(save != 0) sum -= save;
cout << sum;
return 0;
}
#include <string>
#include <vector>
#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <sstream>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
string str;
cin >> str;
stringstream ss(str);
vector<string> v;
int n; char c;
ss >> n;
int sum = n;
int save=0;
while(!ss.eof())
{
ss >> c;
ss >> n;
if(c == '+'){
if(save == 0) sum += n;
else save += n;
}else if(c == '-'){
if(save == 0) save += n;
else {
sum -= save;
save = n;
}
}
}
if(save != 0) sum -= save;
cout << sum;
return 0;
}
:コアは
1)-表示された場合、次が表示されるまでsaveに数値を蓄積します.
2)次の-が現れると,スタックされたsaveを除去し,saveを現在読み取っている値
Reference
この問題について(BOJ 1541:紛失した括弧-C++), 我々は、より多くの情報をここで見つけました https://velog.io/@neity16/BOJ-1541-잃어버린-괄호-Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol