【华为校园招聘软件】 2021-xx-xx
编程题 (第1/3题)
【编程题目 | 100分】最优节点 [ 2021 考试题 ]
1、最优节点
■ 题目描述
/*
4
4 9 -7 -8
0 1
0 3
1 2
1.移除节点1及其子节点:
一颗子树的节点值总和为 (9 – 7) = 2 另一颗子树的节点值总和为 4 – 8 = -4
分成的两棵树各节点的和之间的差绝对值为 |-4-2| = 6;
2.移除节点2及其子节点:
一颗子树的节点值总和为 (4 + 9 – 8) = 5 另一颗子树的节点值总和为 -7 = -7
分成的两棵树各节点的和之间的差绝对值为 |-7 – 5| = 12;
代码实现
C++
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" //#define int long long #define IOS cin.sync_with_stdio(false);cin.tie(0);cout.tie(0); #define pb push_back #define hashTable make_pair #define all(x) (x).begin(),(x).end() #define fi first #define se second #define SZ(x) ((int)(x).size()) #pragma comment(linker, "/STACK:1024000000,1024000000") typedef long long ll; typedef unsigned long long ull; typedef pair<ll, int> pli; typedef pair<int, char> pic; const double eps = 1e-8; const ll mod = 1e9 + 7; const int inf = 0x3f3f3f3f; const ll INF = 0x3f3f3f3f3f3f3f3f;
剩余50%内容,订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。