招商开发笔试树

/**
  树权值那个。测试用例过了,最后来不及交了,也不知道对不对
**/
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 ;
	}
}

#笔试题目##招商银行信用卡中心#
全部评论

相关推荐

点赞 评论 收藏
转发
1 2 评论
分享
牛客网
牛客企业服务