tyjie
2025-05-24 18:28:30
发布于:四川
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
string s;
int func (int l, int r) {
if (l > r) return 0;
string t = "";
while (l <= r && s[l] >= 'A' && s[l] <= 'Z')
t += s[l++];
int m = 0;
while (l <= r && s[l] >= '0' && s[l] <= '9')
m = m * 10 + s[l++] - '0';
if (t == "FD") return m + func(l, r);
else if (t == "BK") return -m + func(l, r);
else {
int ans = 0;
for (int i = l; i <= r; i++) {
if (s[i] == '[') ans++;
else if (s[i] == ']') ans--;
if (ans == 0)
return m * func(l + 1, i - 1) + func(i + 1, r);
}
}
}
int main() {
string str;
while (cin >> str) s += str;
cout << abs(func(0, s.size() - 1));
return 0;
}
这里空空如也
有帮助,赞一个