#D1158. 寻找边缘

寻找边缘

题目描述

给定一张 R×CR\times C 的地图,由 XO 组成。

现在需要重新处理这张地图,找到地图边缘的那些 O。你需要将这些地图边缘上的 O 保留下来,然后将其他的 O 全部替换为 X

地图边缘的 O 指的是那些处于第一行 / 列或最后一行 / 列上的 O,以及从这些 O 的相邻位置(上下左右)延伸出去的 O

输入格式

第一行是一个正整数 TT,表示一共有 TT 组数据。

对于每组数据,其第一行是两个正整数 RRCC,表示地图的大小,用一个空格分开。接下来的 RR 行,每行包含了 CC 个字符,分别是 XO。其中,0<T100 < T \le 100<R,C5000 < R, C \le 500

输出格式

对于每组数据,输出 RR 行,每行包含了 CC 个字符,分别是 XO。每组数据之间需要额外输出一个空行。

2
2 3
OXX
XXO
5 5
XXXOX
XXXOX
XOOXX
XXOXX
XOXXX
OXX
XXO

XXXOX
XXXOX
XXXXX
XXXXX
XOXXX