AC

 •  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;
}

评论:

请先登录,才能进行评论