AT_mujin_pc_2017_b.Row to Column

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一个纵向 NN 行、横向 NN 列的正方形网格。我们用 (i,j)(i,j) 表示从上往下第 ii 行、从左往右第 jj 列的格子。

一开始,每个格子都是白色或黑色。网格的初始颜色由一个排成正方形的字符数组 aija_{ij}(1≤i,j≤N1 \leq i,j \leq N)给出。若格子 (i,j)(i,j) 是白色,则 aija_{ij} 为 .,若为黑色,则 aija_{ij} 为 #。

你开发了一个可以重新涂色的机器人。该机器人可以重复进行如下操作:

  • 可以任意选择整数 ii 、jj (1≤i,j≤N1 \leq i, j \leq N)。将第 ii 行的每个格子的颜色分别记为 c1,c2,…,cNc_1, c_2, \ldots, c_N。接着,用这 c1,...,cNc_1, ..., c_N 的颜色,依次将第 jj 列的所有格子 (1,j),(2,j),…,(N,j)(1,j),(2,j),\ldots,(N,j) 的颜色覆盖并更改。

你的目标是让所有格子都变成黑色。请判断能否实现,并在可能的情况下,求出所需操作次数的最小值。

输入格式

输入以以下形式从标准输入给出:

NN
a11a12…a1Na_{11}a_{12}\ldots a_{1N}
a21a22…a2Na_{21}a_{22}\ldots a_{2N}
⋮\vdots
aN1aN2…aNNa_{N1}a_{N2}\ldots a_{NN}

输出格式

若能将所有格子都变成黑色,则输出所需最小操作次数。若无法实现,则输出 −1-1。

输入输出样例

  • 输入#1

    2
    #.
    .#

    输出#1

    3
  • 输入#2

    2
    ..
    ..

    输出#2

    -1
  • 输入#3

    2
    ##
    ##

    输出#3

    0
  • 输入#4

    3
    .#.
    ###
    .#.

    输出#4

    2
  • 输入#5

    3
    ...
    .#.
    ...

    输出#5

    5

说明/提示

限制

  • 2≤N≤5002 \leq N \leq 500
  • aija_{ij} 仅取 . 或 #

部分得分

  • 有 300300 分的测试数据满足 N≤3N \leq 3。

样例说明 1

例如,可以按如下方式进行操作,网格颜色会变成如下图所示:

  • 选择 i=1i=1,j=2j=2 进行操作。
  • 选择 i=1i=1,j=1j=1 进行操作。
  • 选择 i=1i=1,j=2j=2 进行操作。

由 ChatGPT 5 翻译

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

首页