CF1304C Air Conditioner
题目描述
吉尔东拥有一家烤肉餐厅。餐厅顾客众多,因此许多顾客喜欢提前预约。
吉尔东非常努力地满足顾客,甚至记住了所有顾客偏好的温度区间!他查看预约名单,希望通过调节餐厅的温度来让所有顾客满意。
餐厅有一个空调,具有三种状态:关闭、加热和制冷。当空调关闭时,餐厅温度保持不变;当加热时,温度每分钟上升 $1$;当制冷时,温度每分钟下降 $1$。吉尔东可以在任意整数分钟内随意切换空调状态。空调初始为关闭状态。
每位顾客有三个参数:$t_i$ —— 第 $i$ 位顾客到达餐厅的时间(以分钟为单位),$l_i$ —— 其偏好温度区间的下界,$h_i$ —— 其偏好温度区间的上界。
如果在顾客到达的那一刻,餐厅温度处于其偏好区间内,则该顾客满意。形式化地说,只有当第 $i$ 位顾客到达时餐厅温度在 $[l_i, h_i]$(包含端点)内时,该顾客才会满意。
给定初始温度、所有预约顾客的到达时间及其偏好温度区间,请你判断是否有可能让所有顾客都满意。
输入格式
每组测试数据包含一个或多个测试用例。第一行包含一个整数 $q$($1 \le q \le 500$),表示测试用例数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 100$,$-10^9 \le m \le 10^9$),其中 $n$ 表示预约顾客数量,$m$ 表示餐厅的初始温度。
接下来的 $n$ 行,每行包含三个整数 $t_i$、$l_i$、$h_i$($1 \le t_i \le 10^9$,$-10^9 \le l_i \le h_i \le 10^9$),分别表示第 $i$ 位顾客的到达时间、其偏好温度区间的下界和上界。温度区间为闭区间。
所有顾客按到达时间非递减顺序给出,当前时间为 $0$。
输出格式
对于每个测试用例,若存在一种调节温度的方式使所有顾客都满意,输出 "YES";否则输出 "NO"。
输出时字母大小写均可。
说明/提示
在第一个样例中,吉尔东可以按如下方式调节空调以满足所有顾客:
- 在第 $0$ 分钟,将空调切换为加热(温度为 $0$)。
- 在第 $2$ 分钟,将空调切换为关闭(温度为 $2$)。
- 在第 $5$ 分钟,将空调切换为加热(温度为 $2$,第 $1$ 位顾客满意)。
- 在第 $6$ 分钟,将空调切换为关闭(温度为 $3$)。
- 在第 $7$ 分钟,将空调切换为制冷(温度为 $3$,第 $2$ 位顾客满意)。
- 在第 $10$ 分钟,温度为 $0$,满足最后一位顾客。
在第三个样例中,吉尔东可以在第 $0$ 分钟将空调切换为加热,并保持该状态,则所有顾客都能满意。注意第 $1$ 位和第 $2$ 位顾客的到达时间相同。
在第二个和第四个样例中,吉尔东无法让所有顾客都满意。
由 ChatGPT 4.1 翻译