本文主要是介绍蓝桥杯刷题记录之黄金树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路
等周总结的时候再写
代码
import java.util.*;
class Node{int l,r;public Node(int l,int r){this.l=l;this.r=r;}}
public class Main{static int len;static int[] weights;static long sum = 0l;static Node[] node;public static void dfs(int root,int value){if(root==-1)return;if(value==0)sum+=weights[root];if(node[root].l!=-1)dfs(node[root].l,value+1);if(node[root].r!=-1)dfs(node[root].r,value-1);}public static void main(String[] args) {Scanner s = new Scanner(System.in);len = s.nextInt();weights =new int[len+1];node = new Node[len+1];for(int i=1;i<=len;i++)weights[i]=s.nextInt();for(int i=1;i<=len;i++){int l = s.nextInt();int r = s.nextInt();node[i] = new Node(l,r);}dfs(1,0);System.out.println(sum);s.close();}
}
这篇关于蓝桥杯刷题记录之黄金树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!