#P2653. Pick-up sticks
Pick-up sticks
题目描述
斯坦有 根不同长度的棍子。他以随机的方式依次将这些棍子扔到地板上。在扔完所有棍子后,斯坦尝试找出那些处于最上方的棍子,也就是那些上面没有其他棍子覆盖的棍子。斯坦注意到最后扔的棍子肯定是在最上面的,但他想找出所有处于最上方的棍子。斯坦的棍子非常细,它们的厚度可以忽略不计。
输入
输入由多个测试用例组成。每个测试用例的数据起始是一个满足 的整数 ,表示该测试用例中棍子的数量。接下来的 行,每行包含四个数字,这些数字分别是一根棍子两个端点的平面坐标。棍子是按照斯坦扔出的顺序列出的。可以假定处于最上方的棍子数量不超过 1000 根。当输入中出现 时,输入结束,这个 的测试用例不需要进行处理。
输出
对于每个输入的测试用例,按照给定示例的格式打印一行,列出处于最上方的棍子。处于最上方的棍子需要按照它们被扔出的顺序列出。
输入数据 1
5
1 1 4 2
2 3 3 1
1 -2.0 8 4
1 4 8 2
3 3 6 -2.0
3
0 0 1 1
1 0 2 1
2 0 3 1
0
输出数据 1
Top sticks: 2, 4, 5.
Top sticks: 1, 2, 3.
提示
输入的数据量较大,建议使用 scanf
进行输入。
题目来源
Waterloo local 2005.09.17