招商开发笔试树
/**
树权值那个。测试用例过了,最后来不及交了,也不知道对不对
**/
package offer;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class zhaoshang_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[n + 1][n + 1];
for (int i = 0; i < n - 1; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
arr[a][b] = sc.nextInt();
// System.out.println(arr[a][b]);
}
for (int i = 1; i < n; i++) {
List<Integer> res = new ArrayList<Integer>();
res.add(0);
int max = 0;
find(arr, i, res, 0);
for (Integer integer : res) {
if (integer > max) {
max = integer;
}
}
System.out.print(max + " ");
}
List<Integer> res = new ArrayList<Integer>();
res.add(0);
int max = 0;
find(arr, n, res, 0);
for (Integer integer : res) {
if (integer > max) {
max = integer;
}
}
System.out.print(max);
}
public static void find (int[][] arr, int num, List<Integer> res, int quan){
int max = quan;
if (max > res.get(0)) {
res.clear();
res.add(max);
}
for (int i = 0; i < arr.length; i++) {
if (arr[num][i] != 0) {
max = max + arr[num][i];
find(arr, i, res, max);
max = max - arr[num][i];
}
}
return ;
}
} #笔试题目##招商银行信用卡中心#
查看24道真题和解析
