Description
有$N$架飞机,每架飞机有两个时间可以降落,一早一晚。
现在给出每架飞机可以降落的两个时间,问所有相邻时间降落的飞机中的最小时间间隔最大是多少。
多组测试数据。
Input
每组测试数据:
第一行:一个整数$N$表示飞机数。
接下来$N$行:每行两个整数$e$、$l$表示早的时间和晚的时间(别问我为什么时间长这样)。
Output
几个数据就几行:每行一个整数,最小时间间隔的最大。
Solution
最小求最大,二分。
所以每次二分一个时间$T$,然后2-SAT连边:若$A$飞机早的那个时间$A_1$与$B$飞机早的那个时间$B_1$的间隔小于$T$,就把$A_1$与$B_2$连边从$A_1$指向$B_2$,同理也要连$B_1\rightarrow A_2$。
然后跑$dfs$看是否存在合法方案,是否可行。
Code
|
|