#P15756. [JAG 2025 Summer Camp #1] Chairs

[JAG 2025 Summer Camp #1] Chairs

说明

HWHW 把椅子排列成 HHWW 列。我们将从上往下数第 ii 行、从左往右数第 jj 列的椅子记作 (i,j)(i, j)

一些椅子上可能放有行李。椅子的状况由 HH 个长度为 WW 的字符串 S1,S2,,SHS_1, S_2, \ldots, S_H 表示。如果 SiS_i 的第 jj 个字符是 #,则表示 (i,j)(i, j) 上有行李。如果是 .,则表示 (i,j)(i, j) 上没有行李。保证至少有一把椅子上没有行李。

我们想安排人们坐在这些椅子上。每把椅子最多只能坐一个人,且人不能坐在放有行李的椅子上。此外,两个人不能坐在垂直或水平方向上相邻的椅子上。在这些条件下,我们希望尽可能多地安排人就座。设 MM 为遵守这些规则所能安排的最大人数。

现在,假设又来了一个人。对于每把椅子,判断我们是否可以让这个人坐在那里。具体来说,判断是否可以让这个人坐在那把椅子上,并且在此之后,仍然能够按照规则再安排 M1M - 1 个人就座。

输入格式

输入格式如下:

$$\begin{aligned} &H \ W \\ &S_1 \\ &S_2 \\ &\vdots \\ &S_H \end{aligned}$$
  • 1H4001 \leq H \leq 400
  • 1W4001 \leq W \leq 400
  • SiS_i 是一个长度为 WW 的字符串,由 #. 组成(1iH1 \leq i \leq H)。
  • 存在 (i,j)(i, j) 使得 SiS_i 的第 jj 个字符是 .
  • HHWW 是整数。

输出格式

输出 HH 行。在第 ii 行(1iH1 \leq i \leq H),输出一个长度为 WW 的字符串。

对于每个 (i,j)(i, j),如果我们可以让新来的人坐在 (i,j)(i, j) 上,则第 ii 行字符串的第 jj 个字符必须是 1。否则,必须是 0

3 4
##..
....
#.##
0011
1011
0100

提示

翻译由 DeepSeek V3.2 完成