D - 画像処理高橋君 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

22 値画像に対して行う、収縮という処理があります。なお、22 値画像とは、画素の色が白か黒かの 22 種類しかない画像の事です。

収縮とは、それぞれの画素についてその画素と周り 88 方向の画素のうち、一つでも黒い画素があったらその画素を黒くするという処理です。

ここで、画素数が高さ HH、幅 WW22 値画像を考えます。この画像はある画像に一回収縮を行ったものであることがわかっています。元の画像として考えられるものがあるかを判定し、もしあるならばそのうちどれか 11 つを復元してください。

画像は、HH 個の、WW 文字の文字列 SiS_i で与えられます。SiS_ijj 文字目は、上から ii 個目、左から jj 個目の画素の色を表しており、. なら白、# なら黒です。

制約

  • 1H,W1001 ≦ H, W ≦ 100
  • SiS_iWW 文字の .# からなる文字列である

入力

入力は以下の形式で標準入力から与えられる。

HH WW
S1S_1
S2S_2
:
SHS_H

出力

もし条件を満たす画像が無いならば 11 行に impossible と出力する。

条件を満たす画像があるならば 11 行に possibleと出力したあと、WW 文字の .# からなる文字列を HH 行出力する。

ii 行目の文字列の jj 番目の文字は、条件を満たす画像の上から ii 個目、左から jj 個目の画素の色が白なら .、黒なら # とすること。


入力例1Copy

Copy
4 4
##..
##..
..##
..##

出力例1Copy

Copy
possible
#...
....
....
...#

入力例2Copy

Copy
4 4
###.
####
..##
..##

出力例2Copy

Copy
possible
##..
....
...#
...#

入力例3Copy

Copy
4 4
###.
##.#
..##
..##

出力例3Copy

Copy
impossible


2025-05-20 (Tue)
11:28:16 +00:00