#468. 地底避难所的急救呼叫

地底避难所的急救呼叫

地底避难所的急救呼叫

题目描述

深矿区的避难所布置成一棵自上而下延伸的网络,每个舱室都记录了当前的伤情指数。调度中心希望找到距入口最近、伤情指数不高于阈值的舱室,好让急救物资第一时间送达。通话规程规定每个舱室会先联系左侧通道,再联系右侧通道,逐层向下传递求救状况。

请根据联络关系,找到第一个满足条件的舱室,并输出它到入口的通道数与舱室编号。

输入格式

  • 第一行一个整数 nn,表示舱室数量。
  • 第二行两个整数 r,tr,t,分别表示入口舱室编号与可接受的伤情阈值。
  • 接下来 nn 行,每行包含四个整数 id danger left right,代表舱室编号、伤情指数、左通道指向的舱室编号、右通道指向的舱室编号。若某条通道未连接则以 0 表示。
  • 输入保证 id 互不相同,并覆盖 1..n1..n 的所有编号。

输出格式

若存在符合条件的舱室,输出两个整数,分别为从入口到该舱室的通道数(入口计为 00 层)以及舱室编号;若不存在,输出一行 -1

输入输出样例 #1

输入 #1

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

输出 #1

2 4

说明/提示

  • 对于 100%100\% 的数据,1n1051 \le n \le 10^5109danger109-10^9 \le \text{danger} \le 10^9
  • 若同层有多个舱室满足条件,优先选择在该层通话顺序更靠前的舱室。