AT_abc018_3.[ABC018C] 菱型カウント

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个纵向 RR 行、横向 CC 列的矩形区域。从上往下第 ii 行(1≤i≤R1 \leq i \leq R)、从左往右第 jj 列(1≤j≤C1 \leq j \leq C)的格子称为格子 (i,j)(i, j)。这些格子中有一些被涂成黑色,其他格子被涂成白色。

另外,给定一个整数 KK。

现在,考虑进行如下操作,将一些格子涂成绿色。该操作只进行一次。

  • 对于某一整数对 xx(K≤x≤R−K+1K \leq x \leq R-K+1)、yy(K≤y≤C−K+1K \leq y \leq C-K+1),对于所有满足 ∣i−x∣+∣j−y∣≤K−1|i-x|+|j-y| \leq K-1 的格子 (i,j)(i, j),如果该格子原本是白色,则在本次操作中被涂成绿色。对于所有满足 ∣i−x∣+∣j−y∣≥K|i-x|+|j-y| \geq K 的格子,则不会被涂成绿色。

问满足上述条件的绿色涂色方法有多少种。这里的“涂色方法”指的是哪些格子被涂成了哪种颜色的组合,不考虑涂色的顺序。

输入格式

输入以如下格式从标准输入读入。

RR CC KK
s1s_1
s2s_2
⋮\vdots
sRs_R

  • 第 11 行包含三个整数 RR(3≤R≤5003 \leq R \leq 500)、CC(3≤C≤5003 \leq C \leq 500)、KK(2≤K≤5002 \leq K \leq 500),表示矩形区域有 RR 行 CC 列,KK 是题目中给定的整数。
  • 接下来的 RR 行,每行一个长度为 CC 的字符串 sis_i。字符串 sis_i 仅由 o 和 x 两种字符组成,sis_i 的第 jj 个字符为 o 表示格子 (i,j)(i, j) 是白色,x 表示格子 (i,j)(i, j) 是黑色。

输出格式

请输出绿色涂色方法的总数,输出一行,末尾需换行。

输入输出样例

  • 输入#1

    4 5 2
    xoooo
    oooox
    ooooo
    oxxoo

    输出#1

    3
  • 输入#2

    4 5 2
    ooooo
    oxoox
    oooox
    oxxoo

    输出#2

    0
  • 输入#3

    8 6 3
    oooooo
    oooooo
    oooooo
    oooooo
    oxoooo
    oooooo
    oooooo
    oooooo

    输出#3

    4

说明/提示

部分分

本题设有部分分。

  • 对于满足 R≤50R \leq 50 且 C≤50C \leq 50 的数据集 1,答对可获得 3030 分。

样例解释 1

有如下 33 种情况(o 表示白色格子,x 表示黑色格子,\* 表示绿色格子):

x*ooo
***oxo
*ooooxxoo

xo*ooo
***xoo
*oooxxoo

xoooooo
*xoo***
oxx*o

由 ChatGPT 4.1 翻译

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

首页