6

噢莫加纳加加加  •  1个月前


#include <bits/stdc++.h>
using namespace std;
int a[100000], ans = 0;

void tree(int b) {
	int x;
	cin >> x;
	a[b] = x;
	if (x == -1)
		return;
	tree(b * 2);
	tree(b * 2 + 1);
}

void find(int b, int sum) {
	if (a[b] == -1)
		return;
	if (a[b] != -1)
		sum = sum + a[b];
	if (a[b * 2] == -1 && a[b * 2 + 1] == -1) {
		ans += sum;
		return;
	}
	find(b * 2, sum * 10);
	find(b * 2 + 1, sum * 10);
}

int main() {
	tree(1);
	find(1, 0);
	cout << ans;
	return 0;
}


评论:

请先登录,才能进行评论