关注
第二题,每个结点 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
相关推荐
点赞 评论 收藏
分享
查看4道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如果秋招能重来,我会____ #
3364次浏览 38人参与
# 苦尽甘来时,再讲来时路 #
2988次浏览 69人参与
# “vivo”个offer #
10424次浏览 92人参与
# 为了实习逃课值吗? #
6079次浏览 62人参与
# 机械求职避坑tips #
70158次浏览 479人参与
# 如果上班像打游戏,你最想解锁什么技能 #
903次浏览 18人参与
# 快手技术岗信息交流阵地 #
11195次浏览 72人参与
# 一份好的简历长什么样? #
3287次浏览 96人参与
# 大学最后一个寒假,我想…… #
58651次浏览 637人参与
# 秋招许愿,本周能____ #
8257次浏览 55人参与
# 应届生第一份工资要多少合适 #
2059次浏览 29人参与
# 投递无反馈,如何优化求职策略? #
1276次浏览 25人参与
# 班味很重的人是啥样的? #
1943次浏览 21人参与
# 新凯来求职进展汇总 #
56872次浏览 149人参与
# 机械制造秋招总结 #
81330次浏览 813人参与
# 选择和努力,哪个更重要? #
118978次浏览 975人参与
# 华为海思工作体验 #
32765次浏览 138人参与
# 如何KTV领导 #
76020次浏览 512人参与
# 牛客树洞,我想对你说 #
29286次浏览 206人参与
# 25届非技术实习投递记录 #
134017次浏览 994人参与
# 选完offer后,你后悔学机械吗? #
42150次浏览 247人参与
# 应届生被毁约被毁意向了怎么办 #
50043次浏览 283人参与
