关注
第二题,每个结点 U 到子树中某结点 V 的最大边权和,有大佬帮我看看吗? import java.util.*;
public class Main {
static int [] dparray_weight; //每个结点 U 到子树中某结点 V 的最大边权和
static int [][] tree_edge; //记录边的权值
static int n; //结点个数
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = Integer.valueOf(sc.nextLine());
tree_edge = new int[n][n];
dparray_weight = new int[n];
init_tree_edge(); //初始化边矩阵,自己到自己为0,其余为int的最大值
//保存输入的边
for(int i=1;i<n;i++){
String[] temp = sc.nextLine().split(" ");
int u = Integer.valueOf(temp[0])-1;
int v= Integer.valueOf(temp[1])-1;
tree_edge[u][v] = Integer.valueOf(temp[2]);
}
dp_weight(0);
for(int i=0;i<n;i++)
System.out.print(dparray_weight[i]+" ");
}
public static int dp_weight(int index){
if( isleaf(index) ){
dparray_weight[index]=0;
return dparray_weight[index];
}
for(int j=0;j<n;j++)
if( j!=index && tree_edge[index][j] != Integer.MAX_VALUE ) //index到j有一条边
dparray_weight[index]=Math.max(dparray_weight[index], dp_weight(j)+ tree_edge[index][j]);
return dparray_weight[index];
}
public static boolean isleaf(int index){ //结点下标为index的结点是不是叶子结点
boolean flag =true;
for(int j=0;j<n;j++)
if( tree_edge[index][j] != Integer.MAX_VALUE && index!=j){
flag = false;
break;
}
return flag;
}
public static void init_tree_edge(){
for(int i=0;i<n;i++)
for (int j=0;j<n;j++)
if(i==j)
tree_edge[i][j]=0;
else
tree_edge[i][j]= Integer.MAX_VALUE;
}
public static void print_array(){
for(int i=0;i<n;i++){
for (int j=0;j<n;j++)
System.out.print(tree_edge[i][j]+" ");
System.out.println();
}
}
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
01-04 20:58
淮北师范大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 除了Java,最推荐学什么技术? #
414次浏览 13人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
562次浏览 21人参与
# 滴滴求职进展汇总 #
298292次浏览 2438人参与
# 秋招报数:你投了多少家公司? #
148126次浏览 944人参与
# 你觉得早上几点上班合适? #
94162次浏览 352人参与
# 如何提高实习转正率? #
80612次浏览 487人参与
# 一人一个landing小技巧 #
143795次浏览 1500人参与
# 我和mentor的爱恨情仇 #
102292次浏览 924人参与
# 聊聊你的被动加班经历 #
7198次浏览 88人参与
# 为了秋招你都做了哪些准备? #
31441次浏览 532人参与
# Tplink求职进展汇总 #
199049次浏览 937人参与
# 你觉得什么岗位会被AI替代 #
35161次浏览 233人参与
# 实习期间如何提升留用概率? #
230708次浏览 1785人参与
# 牛客十周岁生日快乐 #
207406次浏览 1934人参与
# 你觉得mentor喜欢什么样的实习生 #
44963次浏览 986人参与
# 美的求职进展汇总 #
343981次浏览 2064人参与
# 用一句话形容你的团队氛围 #
36242次浏览 281人参与
# 互联网公司评价 #
480228次浏览 4094人参与
# 秋招的破防瞬间 #
500451次浏览 2595人参与
# 秋招想进国企该如何准备 #
123049次浏览 611人参与

腾讯成长空间 6030人发布