招商开发笔试树
/** 树权值那个。测试用例过了,最后来不及交了,也不知道对不对 **/ 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 ; } }
#笔试题目##招商银行信用卡中心#