#P16674. [Ctu2021]Bread Pit
[Ctu2021]Bread Pit
题目描述
新培育的地下细菌能够帮助改造火星环境。这些细菌主要以普通面包为食。面包在火星表面大量烘烤,随后被投入一个专门建造的深坑中。
为了把面包均匀地分配到地下,深坑由近乎竖直的隧道组成,并形成一棵树。
每条隧道的终点是以下两种节点之一:
- 一个生活着细菌群落的洞穴;
- 一个连接着一条或多条向下隧道的闸门。
每个闸门在任意时刻只打开一条向下的隧道。
当一块面包经过闸门并落入当前打开的隧道后:
- 当前隧道被关闭;
- 闸门打开它所连接的下一条隧道,供下一块面包使用。
各条向下隧道按照固定顺序循环打开。当最后一条隧道关闭后,闸门会再次打开第一条隧道。
至多有一个闸门位于地表。所有进入至少一条隧道的面包都会先经过这个最上方的闸门。
有一种特殊情况:最上方的闸门可能因为维护而完全关闭。此时所有隧道均不可进入,面包会留在地表。为了统一定义,这种情况下把地表看成一个洞穴,同时也是整个系统中唯一的节点。
系统刚开始运行、尚未投入任何面包时,每个闸门都打开其顺序中的第一条向下隧道。
洞穴和闸门统称为节点,每个节点都有唯一的整数编号。
现在依次向深坑中投入 块面包。请确定每一块面包最终落入哪个洞穴。
输入格式
第一行包含两个整数 :
分别表示节点总数和投入的面包数量。
节点编号为
地表闸门的编号为 。
第二行包含 个整数。第 个整数表示节点 的前驱节点编号,其中这里的 依次为
节点的前驱是面包到达该节点前经过的最近闸门。
第二行还同时确定每个闸门的出口顺序:
若数值 分别出现在第 个和第 个位置,且 ,那么连接 与节点 的隧道,会先于连接 与节点 的隧道打开。
输出格式
输出 行。
第 行输出第 块面包最终落入的洞穴编号。
样例 1
输入
5 5
0 0 1 1
输出
3
2
4
2
3
样例 2
输入
7 10
0 0 0 2 2 2
输出
1
4
3
1
5
3
1
6
3
1