#P4672. Ohana Cleans Up

Ohana Cleans Up

Ohana Cleans Up

题面翻译

zpy有一个n*n大小的格子方阵,格子只有两种颜色,黑色或者白色,分别用0和1表示。zpy可以翻转一些列进行整列翻转,所谓的翻转就是黑变白,白变黑,但必须要阵列都翻转。

现在zpy想知道,通过若干列的整列翻转,最多可以使多少行变成全白。 例如n=4,方阵为:

0101

1000

1111

0101

zpy可以翻转1, 3两列,使得1, 4两行变成全白,最多2行全白。

题目描述

Ohana Matsumae is trying to clean a room, which is divided up into an n n by n n grid of squares. Each square is initially either clean or dirty. Ohana can sweep her broom over columns of the grid. Her broom is very strange: if she sweeps over a clean square, it will become dirty, and if she sweeps over a dirty square, it will become clean. She wants to sweep some columns of the room to maximize the number of rows that are completely clean. It is not allowed to sweep over the part of the column, Ohana can only sweep the whole column.

Return the maximum number of rows that she can make completely clean.

输入格式

The first line of input will be a single integer n n ( 1<=n<=100 1<=n<=100 ).

The next n n lines will describe the state of the room. The i i -th line will contain a binary string with n n characters denoting the state of the i i -th row of the room. The j j -th character on this line is '1' if the j j -th square in the i i -th row is clean, and '0' if it is dirty.

输出格式

The output should be a single line containing an integer equal to a maximum possible number of rows that are completely clean.

样例 #1

样例输入 #1

4
0101
1000
1111
0101

样例输出 #1

2

样例 #2

样例输入 #2

3
111
111
111

样例输出 #2

3

提示

In the first sample, Ohana can sweep the 1st and 3rd columns. This will make the 1st and 4th row be completely clean.

In the second sample, everything is already clean, so Ohana doesn't need to do anything.