QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#14087. 我的瀑布在哪里?

통계

作为《超级马威欧兄弟》(Super Mawio Bros)的关卡设计师,你一直在为马威欧(Mawio)设计游戏地图。每张地图都由空白区域、砖块和道具箱组合而成,马威欧需要在其中穿行以拯救普威琪公主(Princess Pweach)。为了让一些地图变得更有趣,你决定在地图中加入一些瀑布。当这些瀑布从屏幕顶部向下流淌时,它们会自然地绕过你已经放置好的砖块和道具箱。

目前,地图中只包含砖块、道具箱和空白区域。瀑布将被放置在屏幕顶部的某些特定列。根据这些信息,输出一张更新后的地图,其中显示出瀑布的路径。

水流会直接向下流,除非被砖块或道具箱阻挡。当水流被障碍物阻挡时,它会向该障碍物的左侧和右侧分流,除非这些位置也被阻挡。当水流流到地图底部时,它会在接触到最底层的位置停止流动。

在当前的地图表示中,空白区域用字符 O 表示,砖块用字符 # 表示,道具箱用字符 ? 表示。在更新后的表示中,水流应该用字符 ~ 表示。关卡的最顶层不会有任何砖块或道具箱。

输入格式

第一行包含三个空格分隔的整数 $n$,$m$ 和 $k$($1 \le n, m \le 1000$,$1 \le k \le m$)。$n$ 和 $m$ 分别代表地图的行数和列数。$k$ 代表需要添加的瀑布数量。

第二行包含 $k$ 个空格分隔的整数,每个整数代表需要添加在地图顶部的瀑布的列位置 $p_k$($0 \le p_k < m$)。

接下来的 $n$ 行,每行包含 $m$ 个字符。这 $n$ 行代表关卡的 $n \times m$ 地图。空白区域用字符 O 表示,砖块用字符 # 表示,道具箱用字符 ? 表示。

输出格式

输出 $n$ 行,每行包含 $m$ 个字符。这些行应当表示更新后的地图,展示出瀑布的路径,其中水流用字符 ~ 表示。

样例

输入样例 1

8 20 3
2 9 15
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOO?OOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOO###OOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOO##O?#O#?O##
OOOOOOOOOOOOOOOOOOOO
####################

输出样例 1

OO~OOOOOO~OOOOO~OOOO
OO~OOOOOO~OOOO?~OOOO
OO~OOOOOO~OO~~~~~OOO
OO~OOOOOO~OO~###~OOO
OO~OOOOO~~~~~~~~~~OO
OO~OOOOO~##~?#~#?~##
~~~~~~~~~~~~~~~~~~~~
####################

输入样例 2

8 20 1
14
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOO?OOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOO###OOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOO##??#O#?O##
O########OOOOOOOOOOO
#OOOOOOOOOOOOOOOO###

输出样例 2

OOOOOOOOOOOOO~~~OOOO
OOOOOOOOOOOOO~?~OOOO
OOOOOOOOOOOO~~~~~OOO
OOOOOOOOOOOO~###~OOO
OOOOOOOO~~~~~~~~~~OO
~~~~~~~~~##??#~#?~##
~########OOOOO~O~~~~
#OOOOOOOOOOOOO~O~###

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.