AT_abc442_f.[ABC442F] Diagonal Separation 2

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

有一个 NN 行 NN 列的网格。从上往下第 ii 行、从左往右第 jj 列的方格记为 (i,j)(i, j)。

网格中的每个方格都被涂成白色或黑色。网格的信息由 NN 个字符串 S1,S2,…,SNS_1, S_2, \dots, S_N 给出。如果 SiS_i 的第 jj 个字符是 .,则方格 (i,j)(i, j) 为白色;如果 SiS_i 的第 jj 个字符是 #,则方格 (i,j)(i, j) 为黑色。

你需要对某些方格进行重新涂色,使得以下两个条件均满足:

  1. 对于每一行,都满足以下条件:
    存在一个整数 kk (0≤k≤N0 \le k \le N),使得该行最左侧的 kk 个方格被涂成白色,而该行其余方格被涂成黑色。
  2. 对于每一列,都满足以下条件:
    存在一个整数 kk (0≤k≤N0 \le k \le N),使得该列最上方的 kk 个方格被涂成白色,而该列其余方格被涂成黑色。

求满足上述条件所需重新涂色的方格的最小数量。

输入格式

输入从标准输入按以下格式给出:

NN

S1S_1

S2S_2

⋮\vdots

SNS_N

限制条件

  • 1≤N≤50001 \le N \le 5000
  • NN 是整数。
  • SiS_i 是长度为 NN 的字符串,由 . 和 # 组成。

输出格式

打印答案。

输入输出样例

  • 输入#1

    3
    ..#
    #.#
    .#.

    输出#1

    2
  • 输入#2

    5
    ..#.#
    #..##
    ###.#
    .###.
    #....

    输出#2

    9

说明/提示

样例 1 解释

你可以通过将方格 (2,1)(2,1) 重新涂成白色,并将方格 (3,3)(3,3) 重新涂成黑色来满足条件。

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

首页