QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 50

#15360. 油漆桶

Statistics

在电脑上作画时(例如使用 Photoshop),最省时的操作之一就是“油漆桶填充”(bucket fill)操作。

当你选择这个工具并点击图像中的一个(目标)像素时,它会填充所有与目标像素颜色相同且与之相连的像素。如果两个像素共享一条边,或者它们通过一条由相连像素组成的路径相连,则称这两个像素是相连的。

让我们来看一个例子:在下图中,如果我们选择图像编辑器中的“填充”操作,并点击图像的中心(橙色像素),整个区域都将被涂成橙色。请注意,像素在对角线方向上是不相连的,因此图像的两个角仍然保持白色。

你的任务是:给定一个表示像素的数字矩阵,模拟在给定像素上进行“填充”操作后的结果。颜色将用 $0$ 到 $9$ 的数字表示。

让我们来看另一个例子,这次使用数字代替像素。我们有以下图像:

0000000
0111000
0111010
0000000

如果我们在位置 $Y = 0, X = 0$ 处用颜色 $3$ 进行“填充”,所有 $0$ 都会被涂成颜色 $3$。因为它们都是递归相连的。

结果将是:

3333333
3111333
3111313
3333333

输入格式

第一行将包含两个整数 $R$ 和 $C$,代表图像的行数和列数。

接下来的 $R$ 行,每行将包含 $C$ 个数字,代表像素的初始颜色。

最后一行将包含 $3$ 个整数 $Y$、$X$ 和 $K$,代表我们想要应用“填充”操作的行、列以及要使用的颜色。

输出格式

以与输入相同的格式输出应用操作后的最终图像。

数据范围

  • 图像大小将小于 $1000 \times 1000$ 像素。
  • 颜色限制为 $0$ 到 $9$ 的单个数字。

样例

输入样例 1

4 7
0000000
0111000
0111010
0000000
0 0 3

输出样例 1

3333333
3111333
3111313
3333333

输入样例 2

9 9
000000000
011101110
011101110
011011110
000111000
011110110
011101110
011101110
000000000
4 4 2

输出样例 2

000000000
011102220
011102220
011022220
000222000
022220110
022201110
022201110
000000000

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.