CF554B Ohana Cleans Up

题目描述

松前绪花正在打扫一个房间,房间被划分为 $n \times n$ 的网格。每个格子一开始是干净的或者脏的。绪花可以用扫把横扫每一列。当她扫过一个格子时,如果这个格子是干净的,就会变脏;如果是脏的,就会变干净。她希望通过选择性地清扫一些列,使得完全干净的行数最大。需要注意的是,不能只清扫列的一部分,必须整列清扫。 请你返回,最多可以让多少行变成全干净。

输入格式

第一行输入一个整数 $n$,表示房间的边长($1 \leq n \leq 100$)。 接下来的 $n$ 行,每行一个长度为 $n$ 的二进制字符串,描述房间当前的状态。如果第 $i$ 行第 $j$ 列是干净的,则该位置为 '1',如果是脏的,则为 '0'。

输出格式

输出一个整数,表示最多可以有多少行变得完全干净。

说明/提示

在第一个样例中,绪花可以清扫第 1 列和第 3 列,这样第 1 行和第 4 行会变得全干净。 在第二个样例中,所有位置已经是干净的,绪花无需操作。 由 ChatGPT 5 翻译