关注
第二题,每个结点 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
相关推荐
点赞 评论 收藏
分享
今天 14:13
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
11128次浏览 121人参与
# 职场上哪些事情令人讨厌 #
26559次浏览 109人参与
# 百度秋招 #
56502次浏览 394人参与
# 你想跟着什么样领导? #
7732次浏览 104人参与
# 什么样的背景能拿SSP? #
117937次浏览 413人参与
# 找实习是选平台还是选业务? #
11966次浏览 162人参与
# 从夯到拉,评价编程语言 #
6243次浏览 57人参与
# xxx岗位的一天 #
11540次浏览 100人参与
# 机械人还在等华为开奖吗? #
279551次浏览 1433人参与
# 十一月总结 #
15978次浏览 157人参与
# 每个月花钱最多的地方是? #
6219次浏览 83人参与
# 你面试时吹过最大的牛 #
22427次浏览 121人参与
# 大疆的机械笔试比去年难吗 #
93398次浏览 764人参与
# 如何缓解入职前的焦虑 #
239131次浏览 1425人参与
# AI“智障”时刻 #
6856次浏览 60人参与
# 分享一个让你热爱工作的瞬间 #
47948次浏览 414人参与
# 实习生如何通过转正 #
112253次浏览 1421人参与
# 作业帮求职进展汇总 #
78311次浏览 520人参与
# 应届生第一份工作最好去大厂吗? #
107697次浏览 970人参与
# 好好告别我的学生时代 #
124099次浏览 1535人参与
# 实习学到最有价值的工作习惯 #
44111次浏览 378人参与
