#P3985. 单向链表

单向链表

题目描述

实现一个数据结构,维护一张表,最初只有一个元素 11。需要支持以下三种操作,其中 xxyy 都是 1110610^6 范围内的正整数,且保证任何时间表中所有数字均不相同。操作数量不多于 10510^5

  • 1 x y:将元素 yy 插入到 xx 的后面。
  • 2 x:询问 xx 后面的元素是什么。如果 xx 是最后一个元素,则输出 00
  • 3 x:从表中删除 xx 后面的那个元素,不改变其他元素的先后顺序。

输入格式

第一行一个整数 qq,表示操作次数。

接下来 qq 行,每行描述一次操作,格式如上。

输出格式

对于每个操作 2,输出一行一个整数,表示询问结果。

样例

6
1 1 99
1 99 50
1 99 75
2 99
3 75
2 1
75
99

数据范围与提示

  • 1q1051 \le q \le 10^5
  • 1x,y1061 \le x, y \le 10^6
  • 保证插入、删除和查询操作合法,即 xx 一定存在于表中,且对于删除和查询,xx 后面一定存在元素(查询时若为最后一个元素则输出 00)。
  • 所有数字互不相同。

来源

CSPJ-重点算法班