#bcu302018b. [bcu30_2018_b]Spring Water

[bcu30_2018_b]Spring Water

问题描述

有一个公园,由H×WH\times W个区块组成,这些区块被划分为HHWW列。第ii行、第jj列的区块表示为(i,j)(i,j)

区块(i,j)(i,j)的高度为Ai,jA_{i,j},所有区块的高度都是不同的。

在区块(sx,sy)(s_x,s_y)涌出了泉水。

水会向东、西、南、北四个方向之一流动,只会流向比当前区块更低的高度的区块(仅限于公园内部的区块)。但是,如果这些区块的高度都比当前区块高,水就会停留在当前区块,不会流向周围的区块。

请输出表示水流动的区块为 W,其他区块为 . 的形式。

约束条件

  • 1H,W5001 \leq H,W \leq 500
  • 1sxH1 \leq s_x \leq H
  • 1syW1 \leq s_y \leq W
  • 1Ai,jH×W1 \leq A_{i,j} \leq H \times W
  • Ai,jAx,y((i,j)(x,y))A_{i,j} \neq A_{x,y} ((i,j) \neq (x,y))

输入

从标准输入中按以下格式给出输入。

HH WW sxs_x sys_y A1,1A_{1,1} ...... A1,WA_{1,W} :: AH,1A_{H,1} ...... AH,WA_{H,W}

输出

对于第ii个字符串的第jj个字符,如果水流到区块(i,j)(i,j),则输出 W,否则输出 .,输出HH行长度为WW的字符串。


输入样例 1

3 3
2 2
5 6 7
3 9 2
4 8 1

输出样例 1

...
.WW
..W
  • 区块(2,2)(2,2)涌出了泉水。
  • 区块(2,2)(2,2)与其相邻并且比区块(2,2)(2,2)高度低的区块中,最低的是区块(2,3)(2,3),所以水会流向区块(2,3)(2,3)
  • 区块(2,3)(2,3)与其相邻并且比区块(2,3)(2,3)高度低的区块中,最低的是区块(3,3)(3,3),所以水会流向区块(3,3)(3,3)
  • 区块(3,3)(3,3)相邻的区块的高度都比区块(3,3)(3,3)高,所以水会停留在区块(3,3)(3,3)

输入样例 2

3 3
2 2
3 8 2
6 5 7
1 9 4

输出样例 2

...
.W.
...

注意水停留在区块(sx,sy)(s_x,s_y)的情况。


输入样例 3

4 4
2 1
16 10 9 7
13 11 12 6
14 15 4 5
1 2 3 8

输出样例 3

.WWW
WW.W
..WW
WWW.