#469. 迷雾温室的逃生门

迷雾温室的逃生门

迷雾温室的逃生门

题目描述

星际植物园的迷雾温室里铺设了一张分层的紧急疏散网。巡检人员告诉你,疏散网从指挥入口开始,沿着“左通路优先”的顺序一层层分叉下去,直到叶端设置逃生门。每个节点都标注了逃生门的状态:1 代表畅通,0 代表暂时封闭。若温室被锁死,巡检系统会沿着联络网逐层拨测,寻找最先能通行的逃生门,好指挥人员带队离开。

请根据巡检记录,找出距离入口最近且畅通的逃生门(该节点必须没有继续向下的通路),输出它的编号与需要跨越的通路数。

输入格式

  • 第一行一个整数 nn,表示节点数量。
  • 第二行一个整数 rr,表示入口节点编号。
  • 接下来 nn 行,每行包含四个整数 id state left right,代表节点编号、逃生门状态、左通路指向、右通路指向。若某方向没有通路则以 0 表示。
  • 输入保证 id 互不相同,并覆盖 1..n1..n 的所有编号。

输出格式

  • 若存在符合条件的逃生门,输出两个整数,分别为其编号与自入口起需经过的通路数(入口计为 00 层)。
  • 若不存在畅通的逃生门,输出一行 impossible

输入输出样例 #1

输入 #1

6
1
1 0 2 3
2 1 4 5
3 0 0 6
4 0 0 0
5 1 0 0
6 1 0 0

输出 #1

5 2

说明/提示

  • 对于 100%100\% 的数据,1n2×1051 \le n \le 2 \times 10^5state 仅取 01
  • 若同一层存在多个畅通逃生门,选择温室拨测顺序中最先抵达的那个。