A71455 | 模拟链表(2)
来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
学校组织同学们(共有 N 名同学)到电影院看电影,张老师想要将每个年级的同学单独组织成一个单向链表(假设:X 年级的同学学号最后一位数字为 X)。
组织方法如下:
每位同学按来的先后顺序依次坐入编号为 1 \sim N 的座位中;
每位 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,代表同学的学号。
输出格式
按照年级从低到高输出若干行;
对于每个年级的链表,先输出年级编号,再换行输出某个年级从链表头到链表尾每个同学的学号。
输入输出样例
输入 #1
7 2 3 5 11 23 42 83
输出 #1
1 11 2 42 2 3 83 23 3 5 5
数据范围
1 \le N \le 10^5,1 \le A_i \le 10^5。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?