在 xOy 直角坐标平面上有 n 条直线 L1,L2,…,Ln。若从 y 值趋于正无穷大处向下观察时,能够看到直线 Li 的某个子线段,则称 Li 是可见的,否则称其为被覆盖的。
例如,有以下直线:
L1:y=x,L2:y=−x,L3:y=0。
其中,L1 和 L2 是可见的,L3 是被覆盖的。
给定 n 条形如 y=Aix+Bi 的直线,且任意两条直线均不重合。请找出所有可见的直线。
输入格式
第一行包含一个整数 n,表示直线的数量。
接下来 n 行,第 i 行包含两个整数 Ai 和 Bi,表示直线 Li 的方程为 y=Aix+Bi。
输出格式
按照编号从小到大的顺序,输出所有可见直线的编号,相邻编号之间用一个空格隔开。
样例输入
3
-1 0
1 0
0 0
样例输出
1 2
数据范围
- 1≤n≤5×104;
- ∣Ai∣,∣Bi∣≤5×105;
- 任意两条直线均不重合。
来源与许可
本题为 HNOI 2008 试题「水平可见直线」,题面与测试数据整理自 BZOJ。