#HX1260H. 悠闲漫步

提交0 通过0
通过率0%
时间限制1000ms
内存限制128MiB
    ID: 10134 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 普及 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1260-深搜+图搜

题目描述

题目描述

BessieBessie透过牛棚的大门向外望去。发现今天是一个美丽的春季早晨。她想,“我真的好想好想沐浴着春风,走在草地之中,感受嫩草温柔地抚摸四蹄地的感觉。”她知道一旦她离开了牛棚,她将沿着一条小径走一段路,然后就会出现一个三岔路口,她必须在两条小径中选择一条继续走下去。然后她又会遇到更多的三岔路口,进行更多的选择,知道她到达一个青翠的牧场为止。

她决定作一个选择使得她在去吃早草的路途中可以走过最多的小径。给你这些小径的描述,求出BessieBessie最多可以走过多少条小径。假定BessieBessie一出牛棚就有22条路径,BessieBessie需要从中选择一条。

农场中有P1P-1 (1P1,0001\le P\le 1,000) 个分岔节点(范围是1...P1...P),引向PP片草地,它们之间由小径连接。对任意一个节点来说,只有一条从牛棚(被标记为节点11)开始的路径可以到达。

考虑下面的图。线段表示小径,"%"表示草地。右边的图中的"#"表示一条到达草地的高亮的路径。

% %
/ /
2----% 7----8----% 2----% 7####8----%
/ \ / \ # # # #
1 5----6 9----% 1 5####6 9----%
\ \ \ \ \ \ \ #
\ % % % \ % % %
\ \
3-----% 3-----%
\ \
4----% 4----%
\ \
% %

从分岔节点99到达的草地是两个可以让BessieBessie走过最多小径的草地之一。在去吃早草的路上BessieBessie将走过77条不同的小径。这些草地是离牛棚也就是节点11最“远”的。

33个整数来表示每一个节点:Cn,D1C_{n},D_{1}D2D_{2}CnC_{n}是节点的编号(1CnP11\le C_{n}\le P-1); D1D_{1}D2D_{2}是由该节点引出的两条小径的终点(0D1P1;0D2P10\le D_{1}\le P-1;0\le D_{2}\le P-1)。如果D1D_{1}00,表示这条小径引向的是一片牧草地;D2D_{2}也一样。

输入格式

第一行:一个整数 PP

22 行到第 PP 行:第 i+1i+1 行包含三个用空格分隔的整数,描述一个选择节点:CnC_{n}D1D_{1}D2D_{2}

输出格式

第一行:一个整数,表示贝茜在前往最远牧场的路上可以穿过的最大路径数。

样例输入

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

样例输出

7

提示

这个输入描述了任务说明中的示例农场布局。

1-2-5-6-7-8-9-P是其中最长的路线之一。

2
1 0 0
1
3
1 2 0
2 0 0
2
3
2 0 0
1 2 0
2