#XB202403. 插排串联
插排串联
题目说明
众所周知,插排的额定功率是有限的。一旦插排同时为多个高能耗电器供电而逾越了功率限制,就可能造成不可预料的后果。因此,在布置电路时,我们应确保每个插排的实际功率不超过其功率限制。
然而,合理规划插排使用并非易事,尤其在不幸只提供了一个插座的实验室里。不妨考虑实验室里的插座、插排、电器连成了一棵 个节点的有根树结构,节点编号依次为 ,其中树根 号节点表示实验室墙上的插座(该插座的限制功率为固定的 ),所有的叶子节点是电器,其余节点是插排。每个电器有其运行功率,每个插排有其限制功率。插座或插排的子节点既可能包含叶子节点,代表其为相应电器直接供电,也可能包含非叶子节点,代表其与相应插排串联为后续电器间接供电;因此,插座或插排的实际功率等于其子树中,所有叶子节点(电器)的运行功率之和。如果有任何插座、插排的实际功率超过了其限制功率,则认为是“违规用电”。
遗憾的是,电路排线已经确定,并且显然不方便改变插座和电器的固有位置。唯一能做的是在不改变现有树形结构的前提下,交换两个插排的位置。换言之,交换两个节点的限制功率。该操作允许执行任意(或零)次。
实验室的安全负责人想让你写一个程序判断是否可以通过任意(或零)次上述操作,使实验室的电路没有任何违规用电的情况。
输入格式
第一行包含一个整数 ,表示除 号根节点外树的节点数(插排和电器的总数)。
接下来 行,其中第 行包含两个整数 ,表示 号节点的父节点为 号节点,且如果 号节点为叶子节点,则相应电器的运行功率为 ,否则相应插排的限制功率为 。
输出格式
在一行内输出“YES”或“NO”(本题严格区分大小写),表示能否使实验室的电路没有任何违规用电的情况。
样例
5
0 500
1 700
1 400
2 100
2 200
YES
5
0 500
1 700
1 400
2 100
2 300
NO
提示
第一个样例所给树形结构如下图所示:
容易发现,交换 号节点和 号节点的插排,即符合题目要求。