试题:算法与自行车停放管理
发布时间
阅读量:
阅读量
问题描述
共有n辆自行车依次抵达停车棚,除第一辆外,其余每辆自行车均会停放在停车棚内已存在的某辆自行车的左侧或右侧。(e.g.停车棚中已有3辆自行车,从左至右编号分别为:3,5,1。此时编号为2的第四辆自行车需停在5号自行车左侧,因此停车棚内的编号变为:3,2,5,1)。已知n辆自行车的停放顺序,按顺序输出最终停车棚中的自行车编号。
输入格式
首行输入一个整数n。
第二行输入一个整数x,表示第一辆自行车的编号。
接下来n-1行,每行包含三个整数x,y,z。
当z=0时,表示编号为x的自行车正好停在编号为y的自行车左侧;
当z=1时,则表示编号为x的自行车恰好位于编号为y的自行车右侧。
输出格式
按从左到右的顺序输出停车棚中的所有自行车编号。
样例输入
4
3
1 3 1
2 1 0
5 2 1
样例输出
3 2 5 1
数据规模和约定
n<=100000
所有自行车的编号均为不超过100000的正整数。
解题思路:若采用数组方式存储各辆自行车的编号,则每次插入操作都需要移动大量元素,效率较低,因此考虑使用链表结构以实现高效的插入与删除操作。链表具备良好的动态特性,在处理此类问题时具有明显优势。然而,在面对大规模数据时,若需定位某个具体元素的位置,则查找过程可能耗费较多时间。为此,在实现过程中引
全部评论 (0)
还没有任何评论哟~
