题解 P1766 【液体滴落】

· · 题解

这就是一道模拟水题

首先明确:

(1)水滴不会穿墙

(2)水往低处流

知道这些时,我们还要判断水滴落下的地方是否有线段,还要判断线段是否在水滴上方

若不满足,就continue

若满足,找出在最高处能接到的线段,更新高度、横坐标,直到脱离系统

if(s>=max(x[i],xx[i])||s<=min(x[i],xx[i])||s*k[i]+b[i]>high)continue;

就是这句话

若全部continue,输出现在的横坐标,做完。