mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-11-10 06:38:48 +00:00
46 lines
940 B
C++
46 lines
940 B
C++
#include <bits/stdc++.h>
|
|
|
|
using namespace std;
|
|
|
|
char b[105];
|
|
int n;
|
|
string s;
|
|
stack<int> st;
|
|
|
|
int main() {
|
|
cin >> s;
|
|
for (int i = 0; i < s.size(); i++) {
|
|
if (s[i] == '(') {
|
|
st.push(i);
|
|
b[i] = ')';
|
|
}
|
|
if (s[i] == '[') {
|
|
st.push(i);
|
|
b[i] = ']';
|
|
}
|
|
if (s[i] == ')' || s[i] == ']') {
|
|
if (st.empty() || b[st.top()] != s[i]) {
|
|
if (s[i] == ')') {
|
|
b[i] = '(';
|
|
} else {
|
|
b[i] = '[';
|
|
}
|
|
} else {
|
|
b[st.top()] = ' ';
|
|
st.pop();
|
|
}
|
|
}
|
|
}
|
|
for (int i = 0; i < s.size(); i++) {
|
|
if (b[i] == '(' || b[i] == '[') {
|
|
cout << b[i];
|
|
}
|
|
cout << s[i];
|
|
if (b[i] == ')' || b[i] == ']') {
|
|
cout << b[i];
|
|
}
|
|
}
|
|
cout << endl;
|
|
return 0;
|
|
}
|