Given a non-empty tree with root R, and with weight Wi assigned to each tree node Ti. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the path from R to any leaf node L.
Now given any weighted tree, you are supposed to find all the paths with their weights equal to a given number. For example, let's consider the tree showed in the following figure: for each node, the upper number is the node ID which is a two-digit number, and the lower number is the weight of that node. Suppose that the given number is 24, then there exists 4 different paths which have the same given weight: {10 5 2 7}, {10 4 10}, {10 3 3 6 2} and {10 3 3 6 2}, which correspond to the red edges in the figure.
Each input file contains one test case. Each case starts with a line containing 0 ID K ID[1] ID[2] ... ID[K] where For each test case, print all the paths with weight S in non-increasing order. Each path occupies a line with printed weights from the root to the leaf in order. All the numbers must be separated by a space with no extra space at the end of the line. Note: sequence {A1,A2,⋯,An} is said to be greater than sequence {B1,B2,⋯,Bm} if there exists 1≤k 20 9 24 10 5 2 7 从树的根开始,走到底部,如果路径上所有节点的权重加起来刚好等于S,则输出这条路径。 题目意思很清晰,所以只要dfs()这颗树,把节点的权重加一下就可以解决这道题的大部分测试点了。主要的问题在于要求输出的顺序是先输出节点权重大的,再输出节点权重小的。我利用了vector 最后直接输出节点权重即可。 1. 最后一个测试点是输出的顺序不符合题意。如果你对路径的排序是一层一层的排序的话(就是直接对节点进行sort),最后输出的结果就会有错,一定要把所有可行的路径都存储进一个结构中,在对他们一起排序才行。 例如下面这颗树: 如果只是对层来排序的话,输出就是 10 7 2 8 10 7 8 2 实际上我们需要的输出是 10 7 8 2 10 7 2 8
ID is a two-digit number representing a given non-leaf node, K is the number of its children, followed by a sequence of two-digit ID's of its children. For the sake of simplicity, let us fix the root ID to be 00.Output Specification:
Sample Input:
10 2 4 3 5 10 2 18 9 7 2 2 1 3 12 1 8 6 2 2
00 4 01 02 03 04
02 1 05
04 2 06 07
03 3 11 12 13
06 1 09
07 2 08 10
16 1 15
13 3 14 16 17
17 2 18 19Sample Output:
10 4 10
10 3 3 6 2
10 3 3 6 2解题思路:
易错点:

代码:
【Vue】vscode格式刷插件Prettier以及配置项~~保姆级教程
vue3+ts+vite搭建脚手架(二)配置eslint&prettier
【ROS】机械人开发四--ROS常用概念与Launch文件
JAVASE语法零基础——封装与包
2023年8月京东户外鞋服市场(京东数据运营)
lenovo联想笔记本ThinkPad P1 Gen5/X1 Extreme Gen5原装出厂Windows11预装OEM系统
动态内存管理<C语言>
git修改远程仓库地址
MCS:多元随机变量——离散随机变量