AT_joisc2016_e.サンドイッチ

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你买了 2nm2nm块三明治,并将它们拼成了一个n×mn\times m 的矩形。

你现在可以选择吃掉一些三明治,每次吃的三明治都必须在边界上。更具体地, 你不能吃掉一块三明治当且仅当以下两个条件同时成立:

  1. 这块三明治的斜边与某块未被吃掉的三明治相邻;

  2. 这块三明治的至少一条直角边与某块未被吃掉的三明治相邻。

请你求出,对于每个小正方形内的两块三明治,要把它们全部吃掉,至少需要吃多少块三明治(包括这两块三明治)。

输入格式

第一行两个整数 n,mn,m,表示矩形大小。

接下来 nn 行,每行一个长度为 mm 的字符串,每个字符为'N'或'Z' 表示这个小矩形内的三明治沿主对角线放置还是沿副对角线放置。

输出格式

输出 nn 行每行 mm 个整数,第 ii 行第 jj 个表示对应位置小正方形的答案,若无解则为 −1-1。

样例输入1

2 3
NZN
ZZN

样例输出1

10 8 2
8 6 4

样例输入2

2 2
NZ
ZN

样例输出2

-1 -1
-1 -1

样例输入3

5 5
NZZZN
NNNZN
NNZNN
NZNNN
NZZZN

样例输出3

10 12 14 16 2
8 -1 -1 -1 4
6 -1 -1 -1 6
4 -1 -1 -1 8
2 16 14 12 10

说明/提示

对于 35%35\% 的数据,n,m≤50n,m\le 50;

对于所有数据,1≤n,m≤4001\le n,m\le 400。

输入解题思路,AI测评打分。不知道怎么写?

首页