2842 - 模拟链表(2)

题目描述

学校组织同学们(共有 N 名同学)到电影院看电影,张老师想要将每个年级的同学单独组织成一个单向链表(假设:X 年级的同学学号最后一位数字为 X)。

组织方法如下:

  1. 每位同学按来的先后顺序依次坐入编号为 1 \sim N 的座位中;

  2. 每位 X 年级同学记住自己前一位 X 年级同学的位置,最后一位 X 年级的同学作为 X 年级链表的头;

这样就形成了一个单向链表。

比如,假设有如下几位学号的同学依次落座:2 3 5 11 23 42 83,他们的座位号分别是:1 2 3 4 5 6 7

1 年级链表头在 4 号位置,该年级链表从头到尾有: 11

2 年级链表头在 6 号位置,该年级链表从头到尾有: 42 2

3 年级链表头在 7 号位置,该年级链表从头到尾有: 83 23 3

5 年级链表头在 3 号位置,该年级链表从头到尾有: 5

请编程模拟上述链表,并按年级从低到高的顺序,输出每个年级链表上从链表头到链表尾所有同学的学号(如果某个年级的同学从来没有来过,该年级不需要输出)。

输入

1 行读入 N

接下来 N 行每行有互不相等的整数 A_i,代表同学的学号。

输出

按照年级从低到高输出若干行;

对于每个年级的链表,先输出年级编号,再换行输出某个年级从链表头到链表尾每个同学的学号。

样例

输入

7
2 3 5 11 23 42 83

输出

1
11
2
42 2
3
83 23 3
5
5
说明

数据范围

1 \le N \le 10^51 \le A_i \le 10^5

来源

东方博宜OJ

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 129
通过人数 99
金币数量 2 枚
难度 基础


上一题 下一题