题意:已知n*n的矩形由1,0构成,每一次操作可以使得某一列的值全部反转(0变成1,1变成0)。问,最多能够使多少 行 全都是1.

思路:就是找一模一样的字符串有几个,因为一模一样的字符串操作后,肯定可以达到预想的 每行 都是1的情况;

数据分析:1 ≤ n ≤ 100

复杂度分析: O(n^2)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

char str[150][150];
int mmax=INT_MIN;

int main(void)
{
    int n;
    cin >> n;
    for(int i=1;i<=n;i++)
        scanf("%s",str[i]+1);
    for(int i=1;i<=n;i++)
    {
        int cnt=0;
        for(int j=1;j<=n;j++)
        {
            if(strcmp(str[i]+1,str[j]+1)==0)
            {
                cnt++;
            }
        }
        mmax=max(mmax,cnt);
    }
    cout << mmax << endl;
}