#输入
5
13 2 3
4 0 0
12 4 5
20 0 0
40 0 0
#输出
81
思路:看似是一道与二叉树相关的题,但是仍可以用图的相关知识来解决。即,使用Floyd算法寻找多元最短路径,再枚举每一个顶点,暴力查找将哪个顶点设置为中心点可以是整张图通往该顶点的权值和最小。
定义两个数组,int a[maxn]={0},g[maxn][maxn]={0};
其中a数组存储每个顶点上所存储的权值信息,g用来存储图(邻接矩阵)。
#include <iostream>
using namespace std;
typedef long long ll;
const int maxn = 105;
int a[maxn]={
0},g[maxn][maxn]={
0};
const ll INFINITY = 20010620;
int main()
{
int n;
cin>>n