寻找边缘
给定一张 R*C 的地图, 由 "X" 和 "O" 组成。
现在需要重新处理这张地图, 找到地图边缘的那些 "O"。 你需要将这些地图边缘上的 "O" 保留下来, 然后将其他的 "O" 全部替换为 "X"。
地图边缘的 "O" 指的是那些处于第一行/列或最后一行/列上的 "O",以及从这些 "O" 的相邻位置(上下左右) 延伸出去的 "O"。
时间限制: 1000
内存限制: 65536
输入
第一行是一个正整数 T, 表示一共有 T 组数据。 对于每组数据, 其第一行是两个正整数 R 和 C, 表示地图的大小, 用一个空格分开。 接下来的 R 行, 每行包含了 C 个字符, 分别是 "X" 或 "O"。 其中,0 < T <= 10, 0 < R, C <= 500。
输出
对于每组数据, 输出 R 行, 每行包含了 C 个字符, 分别是 "X" 或"O"。 每组数据之间需要额外输出一个空行。
样例输入
2 2 3 OXX XXO 5 5 XXXOX XXXOX XOOXX XXOXX XOXXX
样例输出
OXX XXO XXXOX XXXOX XXXXX XXXXX XOXXX
相似题推荐
能量节点
题目描述
数轴上分布着 n 个能量节点,第 i 个节点的坐标为 xi 。
当两个节点的距离小于等于 d 时,会产生能量共鸣。
求一共有多少组节点会发生能量共鸣。
输入格式
第一行,两个整数表示 n 与 d。
第二行,n 个整数,表示 x1,x2,…,xn 。
输出格式
单个整数:表示有多少对点可以会产生能量共鸣。
输入样例
4 25 30 40 10 20
输出样例
5
说明提示
1≤n≤100,000,
1≤d≤1,000,000,000,
1≤xi≤1,000,000,000。
限制
时间限制:1000ms
内存限制:256MiB
已知数组`arr[6] = {2,4,6,8,10,12}`,前缀和数组`preSum[0]=0`,`preSum[i] = arr[0]+arr[1]+…+arr[i-1]`,则区间[2,4](下标从0开始)的元素和为?( )
| A. 18 |
B. 24 |
| C. 30 |
D. 36 |
