AT_joig2023_d コイン集め 2 (Coin Collecting 2)

题目描述

在桌子上,按纵向 $H$ 行、横向 $W$ 列排放着若干个矩形排列的硬币。最初,从上到下第 $i$ 行($1 \leq i \leq H$),从左到右第 $j$ 列($1 \leq j \leq W$)的硬币,如果 $S_{i,j}=$ `#`,则为正面朝上;如果 $S_{i,j}=$ `.`,则为反面朝上。 葵和凛决定用这些硬币玩一个游戏。游戏流程如下: 1. 葵选择任意一行,将该行所有硬币全部翻面。 2. 凛选择任意一列,将该列所有硬币全部翻面。 3. 最后,葵获得所有正面朝上的硬币,凛获得所有反面朝上的硬币。 葵与凛都会尽可能多地获得硬币。 给定游戏开始时所有硬币的状态,请编写程序求出二人在均采取最优策略情况下,各自能获得多少硬币。

输入格式

输入格式如下: > $H$ $W$ > $S_{1,1}$ $S_{1,2}$ $\cdots$ $S_{1,W}$ > $S_{2,1}$ $S_{2,2}$ $\cdots$ $S_{2,W}$ > $\vdots$ > $S_{H,1}$ $S_{H,2}$ $\cdots$ $S_{H,W}$

输出格式

请按顺序输出葵和凛各自的得分,用空格分隔。

说明/提示

## 子任务 1. ($2$ 分)$H=1$, $W=1$。 2. ($8$ 分)$H=1$, $W \leq 40$。 3. ($9$ 分)$H \leq 40$, $W=1$。 4. ($14$ 分)$H=2$, $W=2$。 5. ($23$ 分)$H \leq 40$, $W \leq 40$。 6. ($18$ 分)$H \leq 250$, $W \leq 250$。 7. ($26$ 分)无额外限制。 ## 样例解释 1 对于该输入,无论怎样游戏都必然如下进行: 1. 首先,葵将第 $1$ 行的所有硬币翻面。 2. 接着,凛将第 $1$ 列的所有硬币翻面。 此时,唯一的硬币面朝现状为“正→反→正”,因此葵能获得 $1$ 枚硬币,凛无法获得硬币。因此,按顺序输出 $1$、$0$,中间用空格分隔。 此外,该输入满足子任务 $1, 2, 3, 5, 6, 7$ 的限制。 ## 样例解释 2 两人均采用最优策略时,游戏过程的一种示例如下图: ![ ](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_joig2023_d/577e9b9ffba583470d61b7d45021c7301a00e64028a75ab5e5a2b3b1ff1f6859.png) 该输入满足子任务 $5, 6, 7$ 的限制。 ## 样例解释 3 该输入满足子任务 $2, 5, 6, 7$ 的限制。 ## 样例解释 4 该输入满足子任务 $3, 5, 6, 7$ 的限制。 ## 样例解释 5 该输入满足子任务 $5, 6, 7$ 的限制。 ## 样例解释 6 该输入满足子任务 $5, 6, 7$ 的限制。 ## 数据范围 - $H \geq 1$。 - $W \geq 1$。 - $H \times W \leq 500\,000$。 - $S_{i,j}$ 为 `#` 或 `.`,其中 $1 \leq i \leq H$,$1 \leq j \leq W$。 - $H,W$ 为整数。 由 ChatGPT 5 翻译