bzoj#P2799. [POI2012] Salaries

[POI2012] Salaries

题目描述

给出一棵 nn 个结点的有根树,结点用正整数 11nn 编号。

每个结点有一个 11nn 的正整数权值,不同结点的权值不相同,并且一个结点的权值一定比它父结点的权值大(根结点的权值最大,一定是 nn)。

现在有些结点的权值是已知的,并且如果一个结点的权值已知,它父结点的权值也一定已知。

问还有哪些结点的权值能够唯一确定。

输入格式

第一行一个正整数 nn,表示树的结点数。
下面共 nn 行,第 ii 行描述编号为 ii 的结点,每行两个整数 pi,zip_i,z_ipip_i 表示结点i的父结点,如果 i=pii=p_i,说明 ii 是根结点。
zi>0z_i>0 时,表示结点i的权值已知,并且就是 ziz_i
zi=0z_i=0 时,表示结点i的权值未知。
测试数据保证满足题意,并且存在合法的方案。

输出格式

输出共 nn 行,依次描述每个结点。
如果结点 ii 的权值能够唯一确定,第 ii 行输出结点 ii 的权值,否则第 ii 行输出 0

10
2 2
2 10
1 0
2 9
2 5
4 0
6 0
6 0
5 0
5 0
2
2
10
1
9
5
8
0
0
0
0

数据规模与约定

对于 100%100\% 的数据,1n1061\leq n\leq 10^61pin1\leq p_i\leq n0zin0\leq z_i\leq n