QOJ.ac

QOJ

実行時間制限: 10 s メモリ制限: 1024 MB 満点: 48

#5999. 时尚警察

統計

你对 2016 年 Code Jam 全球总决赛感到非常兴奋,于是你搬到了纽约。你带了 $J$ 件不同的夹克(编号为 1 到 $J$)、$P$ 条不同的裤子(编号为 1 到 $P$)以及 $S$ 件不同的衬衫(编号为 1 到 $S$)。你拥有的衬衫数量至少与裤子数量一样多,裤子数量至少与夹克数量一样多($J \le P \le S$)。

每天,你都会选择一件夹克、一条裤子和一件衬衫作为一套服装。你每天晚上都会清洗所有的衣物,因此所有的衣物每天都可以使用。

在纽约,时尚警察时刻关注并记录着每个人每天的穿着。如果他们发现你穿过完全相同的服装两次,你将立即被带到位于第五大道的时尚监狱接受强制改造;你绝对想避免这种情况!如果他们发现你穿过相同的两件套组合超过 $K$ 次,你也会立即被带到时尚监狱。一个组合是指:特定的夹克搭配特定的裤子、特定的夹克搭配特定的衬衫,或者特定的裤子搭配特定的衬衫。例如,在服装组合(夹克 1,裤子 2,衬衫 3)和(夹克 1,裤子 1,衬衫 3)中,组合(夹克 1,衬衫 3)出现了两次,而组合(裤子 1,衬衫 3)只出现了一次。

你每天穿一套服装。你能算出在不被带到时尚监狱的情况下,你最多可以穿多少天,并列出每天使用的服装清单吗?

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例;每个测试用例由一行包含四个整数 $J, P, S$ 和 $K$ 组成。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是一个整数:在不被带到时尚监狱的情况下,你能够坚持的最长天数。然后输出 $y$ 行,每行包含三个整数:该天服装的夹克、裤子和衬衫编号(按此顺序)。服装列表可以以任何顺序排列,但这些服装不能导致你如上所述被带到时尚监狱。

如果存在多种答案,你可以输出其中任意一种。

数据范围

$1 \le T \le 100$ $1 \le J \le P \le S$ $1 \le K \le 10$

样例

样例输入 1

4
1 1 1 10
1 2 3 2
1 1 3 2
1 2 3 1

样例输出 1

Case #1: 1
1 1 1
Case #2: 4
1 1 2
1 2 3
1 2 1
1 1 1
Case #3: 2
1 1 2
1 1 1
Case #4: 2
1 1 3
1 2 1

说明

样例输出展示了针对样例测试用例的一组答案。可能存在其他答案。

在 Case #1 中,尽管时尚警察设置了宽松的 $K$ 值为 10,但你只能搭配出一种可能的服装,因此你只能避免进入时尚监狱一天。

在 Case #2 中,添加任何其他服装都会导致你进入时尚监狱: 添加 1 1 3 会导致组合(夹克 1,裤子 1)使用超过 2 次。 添加 1 2 2 会导致组合(夹克 1,裤子 2)使用超过 2 次。 在这种情况下,任何 5 套服装的组合都会包含至少一次时尚违规。

请注意,单套服装中夹克、裤子和衬衫的编号不必像 $J, P$ 和 $S$ 那样按非递减顺序排列。

在 Case #3 中,你只有一种夹克+裤子的组合,必须反复使用,所以无论你穿哪件衬衫,你都无法组成超过 $K = 2$ 种不同的服装。

在 Case #4 中,另一个可能的最长服装集合是:

1 2 2
1 1 1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.