#P16736. [GKS 2019 #E] Code-Eat Switcher
[GKS 2019 #E] Code-Eat Switcher
题目描述
Umon 是一个吃货程序员。你知道他最喜欢的两项活动是什么吗?当然是编码和吃饭!他整天只做这两件事。不过,他认为一天中的某些时段更适合编码,而另一些时段更适合吃饭。
为了说明这个问题,Umon 将一天划分为 个时间段。在第 个时间段,如果 Umon 将 的时间用于编码,他将获得 单位的编码量;反之,如果他将 的时间用于吃饭,他将获得 单位的饭量。当然,Umon 也可以只使用一部分时间编码,剩余时间吃饭。形式化地说,他会选择一个实数 (),用 的时间编码,剩下的 的时间吃饭。这样,他将获得 单位的编码量和 单位的饭量。Umon 一天获得的总编码量就是他在每个时间段获得的编码量之和。总饭量同理计算。
Umon 需要规划接下来 天的日程。在第 天,他需要至少达到总编码量 和总饭量 。对于每一天,判断是否存在一种方式使 Umon 达到他的目标。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例的第一行包含两个整数 和 ,分别表示天数和一天中的时间段数。
随后 行,每行描述一个时间段。第 行包含两个整数 和 ,分别表示如果 Umon 在该时间段 编码所能获得的编码量,以及如果 吃饭所能获得的饭量。
接着 行,每行描述一天。第 行包含两个整数 和 ,表示当天需要达到的最小总编码量和总饭量。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是一个长度为 的字符串,其中第 个字符为 Y 如果存在一种日程安排能实现第 天的目标,否则为 N。
2
4 2
3 8
6 10
0 18
3 13
10 0
7 3
1 2
4 4
4 4
0 0
Case #1: YYNY
Case #2: Y
提示
在第一个样例中,有 天,每天有 个时间段。
- 对于第 天,Umon 可以在两个时间段都 吃饭,因此获得总编码量 和总饭量 ,达到目标。
- 对于第 天,Umon 可以在第一个时间段 吃饭,在第二个时间段用 的时间编码、 的时间吃饭,从而获得总编码量 ,总饭量 ,达到目标。
- 对于第 天,无法获得总编码量 。
- 对于第 天,存在无穷多种方式达到目标。一种可能的策略是:在第一个时间段编码 (吃饭 ),在第二个时间段编码 (吃饭 )。该策略给出总编码量 ,总饭量 。
因此,答案应为 YYNY。
在第二个样例中,注意不同时间段的特征值不一定互不相同。
限制条件
。
对于所有 ,。
对于所有 ,。
对于所有 ,。
对于所有 ,。
测试集 1(可见)
。
。
测试集 2(隐藏)
对于至少 的测试用例:
。
。
对于所有测试用例:
。
。
翻译由 DeepSeek V4 Pro 完成