❤ • 19天前
#include <bits/stdc++.h>
using namespace std;
string mid, back;
vector<int> a;
void dfs(string mid, string back) {
int la = mid.size();
if (mid.size() == 0) {
return;
} else {
char root = back[back.size() - 1];
int root_pos_len = mid.find(root);
a.push_back(root - '0');
dfs(mid.substr(0, root_pos_len), back.substr(0, root_pos_len));
dfs(mid.substr(root_pos_len + 1), back.substr(root_pos_len, la - root_pos_len - 1));
}
}
int main() {
cin >> mid >> back;
dfs(mid, back);
int sum = 0;
for (int i = 0; i < a.size(); i++) {
if (i % 2 == 0)
sum += a[i];
}
cout << sum;
return 0;
}
评论:
请先登录,才能进行评论