QOJ.ac

QOJ

时间限制: 5 s 内存限制: 1024 MB 总分: 35

#5990. 分形图

统计

题目描述

很久以前,Fractal 文明创造了一种由线性排列的瓷砖组成的艺术品。他们可以使用两种类型的瓷砖:金(G)和铅(L)。

每件 Fractal 艺术品都基于两个参数:一个长度为 K 的原始序列,以及一个复杂度 C。对于给定的原始序列,复杂度为 1 的艺术品就是该原始序列本身;复杂度为 $X+1$ 的艺术品由复杂度为 $X$ 的艺术品经过以下变换得到: 将复杂度为 $X$ 的艺术品中的每个 L 瓷砖替换为原始序列的一个副本; 将复杂度为 $X$ 的艺术品中的每个 G 瓷砖替换为 KG 瓷砖。

例如,对于原始序列 LGL,复杂度为 1 到 3 的艺术品如下:

  • C = 1: LGL(即原始序列本身)
  • C = 2: LGLGGGLGL
  • C = 3: LGLGGGLGLGGGGGGGGGLGLGGGLGL

下图展示了如何从复杂度为 1 的艺术品生成复杂度为 2 的艺术品:

你刚刚发现了一件 Fractal 艺术品,但由于瓷砖太脏,无法辨认它们的材质。作为一名熟悉当地 Fractal 文化的考古学家,你知道该艺术品的 KC 值,但不知道原始序列。由于黄金令人兴奋,你想知道艺术品中是否至少存在一个 G 瓷砖。你的预算允许你雇佣 S 名研究生,每人可以清理你选择的一块瓷砖(在艺术品的 KC 块瓷砖中),以查看该瓷砖是 G 还是 L

你是否可以选择不超过 S 块特定的瓷砖进行清理,使得无论原始图案是什么,你都能确定艺术品中是否至少存在一个 G 瓷砖?如果可以,你应该清理哪些瓷砖?

输入格式

输入的第一行包含测试用例的数量 T。接下来是 T 个测试用例。每个测试用例包含一行,包含三个整数:KCS

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 x 是测试用例编号(从 1 开始),yIMPOSSIBLE(如果不存在满足条件的瓷砖集合),或者是一个包含 1 到 S 个正整数的列表,表示你选择清理的瓷砖位置。瓷砖位置从最左侧的 1 开始编号,到最右侧的 KC 为止。你选择的位置可以以任何顺序排列,但必须互不相同。

如果存在多个有效的瓷砖集合,你可以输出其中任意一个。

数据范围

$1 \le T \le 100$ $1 \le K \le 100$ $1 \le C \le 100$ $K^C \le 10^{18}$

子任务 1

S = K

子任务 2

$1 \le S \le K$。

样例

样例输入 1

5
2 3 2
1 1 1
2 1 1
2 1 2
3 2 3

样例输出 1

Case #1: 2
Case #2: 1
Case #3: IMPOSSIBLE
Case #4: 1 2
Case #5: 2 6

说明

对于某些样例,可能存在其他有效的解决方案。

在样例 #1 中,有四种可能的原始序列:GGGLLGLL。它们分别产生以下艺术品:

  • 原始序列 GG: GGGGGGGG
  • 原始序列 GL: GGGGGGGL
  • 原始序列 LG: LGGGGGGG
  • 原始序列 LL: LLLLLLLL

一个有效的解决方案是只查看第 2 块瓷砖。如果第 2 块瓷砖是 G,那么你就能确定艺术品中至少包含一个 G。(你不需要知道原始序列是 GGGL 还是 LG,这无关紧要。)如果第 2 块瓷砖是 L,那么你就能确定原始序列一定是 LL,因此艺术品中没有 G。所以 2 是一个有效的解决方案。

另一方面,只查看第 1 块瓷砖是无效的。如果它是 L,你只能知道原始序列可能是 LGLL。如果原始序列是 LG,艺术品中至少有一个 G;但如果原始序列是 LL,则没有 G。因此 1 不是一个有效的解决方案。

注意 1 2 也是一个有效的解决方案,因为第 2 块瓷砖已经提供了你所需的所有信息。1 2 3 不是一个有效的解决方案,因为它使用的瓷砖数量过多。

在样例 #2 中,艺术品必须只包含一块瓷砖:GL。查看该瓷砖可以轻易告诉你艺术品中是否有 G

在样例 #3 中,艺术品必须是 GGGLLGLL。你只能查看一块瓷砖,而单独查看其中任何一块都不足以回答问题。如果你看到第 1 块是 L,你无法判断艺术品是 LG 还是 LL,因此无法确定是否存在 G。如果你看到第 2 块是 L,你无法判断艺术品是 GL 还是 LL,因此无法确定是否存在 G

样例 #4 与样例 #3 类似,但可以多查看一块瓷砖。现在你可以查看整个艺术品。

在样例 #5 中,有八种可能的原始序列,它们会产生以下艺术品:

  • 原始序列 GGG: GGGGGGGGG
  • 原始序列 GGL: GGGGGGGGL
  • 原始序列 GLG: GGGGLGGGG
  • 原始序列 GLL: GGGGLLGLL
  • 原始序列 LGG: LGGGGGGGG
  • 原始序列 LGL: LGLGGGLGL
  • 原始序列 LLG: LLGLLGGGG
  • 原始序列 LLL: LLLLLLLLL

一个有效的解决方案是查看第 2 块和第 6 块瓷砖。如果它们都是 L,则艺术品必须全为 L。否则,必须至少存在一个 G。注意 1 2 不是一个有效的解决方案,因为即使这两块瓷砖都是 L,也不能排除原始序列为 LLG 的情况。6 2 是一个有效的解决方案,因为你选择的位置顺序无关紧要。

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.