QOJ.ac

QOJ

时间限制: 2.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#17261. 建造反应堆

统计

建造一个可靠且高效的反应堆包含许多阶段,你的任务是帮助设计这样一个反应堆。

反应堆的框架是一个大小为 $n \times m$ 的网格。其中一些格子包含承重墙,用于增强结构强度,不能用于其他任何目的。其余的格子可以填充燃料棒和冷却元件,每个格子最多只能填充一个。

根据安全规定,每个燃料棒必须与至少一个冷却元件相邻。形式化地,它们所在的格子必须共享一条公共边。

设计中的燃料棒越多,反应堆能提取的能量就越多。你的任务是在遵守所有要求的前提下,找到一种包含最多燃料棒数量的任意配置。

输入格式

第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 12$, $1 \le m \le 30$),表示反应堆框架的高度和宽度。

接下来的 $n$ 行,每行包含 $m$ 个字符,描述反应堆的格子。字符 . 对应一个空闲格子,而字符 # 对应一面承重墙。

输出格式

输出 $n$ 行,每行 $m$ 个字符(共 $nm$ 个字符),表示反应堆元件的最优排列。字符可以取以下值:

  • #:如果该格子是承重墙;
  • 0:如果你在该格子中放置了燃料棒;
  • 1:如果你在该格子中放置了冷却元件;
  • .:如果该格子保持空白。

如果有多个最优解,输出其中任意一个。

样例

输入样例 1

6 9
.........
.........
....#....
....#....
.........
.........

输出样例 1

001000100
100010001
0010#0100
0010#0100
100010001
001000100

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.