#P12785. [ICPC 2024 Yokohama R] Remodeling the Dungeon 2

[ICPC 2024 Yokohama R] Remodeling the Dungeon 2

题目背景

译自 ICPC 2024 Yokohama Regional Contest

题目描述

Icpca 王国的女王平静地居住在一座城堡中。一天,她决定重造城堡的地牢。

地牢是一个由方形单元格组成的矩形网格。部分单元格是可进入的房间,而其他则是不可进入的管道空间。所有相邻单元格之间都被一堵墙隔开。某些相邻房间之间的墙上安装了用于通行的门。地牢中任意一对房间都可以通过这些门连通。

女王希望重造地牢,使得任意一对房间之间仅存在唯一路径。此外,任意两个都只有一扇门的房间应通过一条经过偶数扇门的路径相连。 由于成本限制,重造时只能封锁部分(可能为零扇)门。

你的任务是找到一种满足女王要求的地牢重造方案。

输入格式

仅一组数据,格式如下所示:

hh ww c1,1c_{1,1} c1,2c_{1,2} \cdots c1,2w+1c_{1,2w+1}
c2,1c_{2,1} c2,2c_{2,2} \cdots c2,2w+1c_{2,2w+1}
\vdots
c2h+1,1c_{2h+1,1} c2h+1,2c_{2h+1,2} \cdots c2h+1,2w+1c_{2h+1,2w+1}

两个整数 hhww 表示地牢大小为 h×wh \times w1h,w4001 \leq h,w \leq 400)。
每个字符 ci,jc_{i,j}1i2h+11 \leq i \leq 2h+1, 1j2w+11 \leq j \leq 2w+1)为 .#,其含义如下:

  • iijj 均为偶数时,ci,jc_{i,j} 表示位于地牢第 (i/2)(i/2) 行(北向南)、第 (j/2)(j/2) 列(西向东)的单元格,记作单元格 (i/2,j/2)(i/2, j/2)。若为 . 则是房间,若为 # 则是管道空间。
  • ii 为奇数且 jj 为偶数时,表示一堵墙。若 i=1i=1i=2h+1i=2h+1,则为地牢外墙(始终为 #)。否则 ci,jc_{i,j} 表示单元格 ((i1)/2,j/2)((i−1)/2, j/2)((i+1)/2,j/2)((i+1)/2, j/2) 之间的墙。若为 . 则该墙有门,若为 # 则无门(门仅存在于两个房间之间的墙上)。
  • ii 为偶数且 jj 为奇数时,同样表示一堵墙。若 j=1j=1j=2w+1j=2w+1,则为地牢外墙(始终为 #)。否则 ci,jc_{i,j} 表示单元格 (i/2,(j1)/2)(i/2, (j−1)/2)(i/2,(j+1)/2)(i/2, (j+1)/2) 之间的墙。若为 . 则该墙有门,若为 # 则无门(门仅存在于两个房间之间的墙上)。
  • iijj 均为奇数时,ci,jc_{i,j} 始终为 #,对应墙体的交叉点。

数据保证地牢中至少有一个房间,且任意一对房间存在连通路径。

输出格式

若无法按要求重造地牢,输出 No\texttt{No}。否则第一行输出 Yes\texttt{Yes},接着按输入格式输出重造后的地牢配置(若有多种可能配置,输出任意一种即可)。

3 3
#######
#.....#
#.#.###
#.#...#
#.#.#.#
#.....#
#######
Yes
#######
#.....#
#.#####
#.#...#
#.###.#
#.....#
#######
3 3
#######
#.....#
###.###
###...#
###.#.#
#.....#
#######
Yes
#######
#.....#
###.###
###...#
#####.#
#.....#
#######
3 3
#######
#.....#
#.###.#
#.###.#
#.###.#
#.....#
#######
No