#P16179. [Ncpc2020]Language Survey语言调查
[Ncpc2020]Language Survey语言调查
题目描述
在 Gridnavia,有三种语言:Arwegian、Banish 和 Cwedish。
Gridnavia 是一个 的网格。每个格子中至少使用一种语言。已知每一种语言都在一个非空连通的格子集合中使用。
这里的连通指:在同一种语言覆盖的格子中,任意两个格子之间都可以通过上下左右相邻的格子移动到达。
你进行了一次调查,想知道每个格子里使用哪些语言。调查问题原本应该让每个格子填写所使用的语言集合,但由于印刷错误,选项没有印出来。于是每个格子只能回答:
1:这里恰好使用一种语言;2:这里使用不止一种语言,即至少两种语言。
现在你只知道每个格子是 1 还是 2。请你找出任意一种三种语言的分布方式,使其与调查结果一致,并且三种语言各自覆盖的区域都非空且连通。
输入格式
第一行包含两个整数 。
接下来 行,每行一个长度为 的字符串,仅由字符 1 和 2 组成。第 行第 个字符表示格子 的调查结果:
1:该格子恰好使用一种语言;2:该格子至少使用两种语言。
输出格式
如果存在合法分布,输出三份网格,分别表示三种语言的覆盖情况。
第一份网格由字符 A 和 . 组成,A 表示该格子使用 Arwegian,. 表示不使用。
第二份网格由字符 B 和 . 组成,表示 Banish 的覆盖情况。
第三份网格由字符 C 和 . 组成,表示 Cwedish 的覆盖情况。
每份网格都应有 行,每行 个字符。为了可读性,可以在三份网格之间输出空行,但不是必须的。
输出需要满足:
- 每个格子至少属于一种语言;
- 输入为
1的格子恰好属于一种语言; - 输入为
2的格子至少属于两种语言; - 三种语言的格子集合都非空;
- 三种语言的格子集合都连通。
如果不存在合法分布,输出:
impossible
若有多种方案,输出任意一种。
数据范围
样例 #1
输入
3 4
2211
1112
1112
输出
AAAA
...A
....
BB..
BBBB
...B
....
...C
CCCC
样例 #2
输入
1 1
1
输出
impossible