CodeForces-554B Ohana Cleans Up

来源:互联网 发布:免费的fq软件 编辑:程序博客网 时间:2024/05/16 17:29
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 100 + 5;char room[maxn][maxn];int num[maxn];int cnt[maxn];int n;int main(){    while(~scanf("%d", & n))    {        memset(cnt, 0, sizeof(cnt));        for(int i = 0; i < n; i ++)            scanf("%s", room[i]);        for(int k = 0; k < n; k ++)        {            for(int i = 0; i < n; i ++)            {                bool flag = true;                for(int j = 0; j < n; j ++)                    if(room[k][j] == room[i][j])                        continue;                    else                    {                        flag = false;                        break;                    }                if(flag)                    cnt[k] ++;            }        }        sort(cnt, cnt + n);        printf("%d\n", cnt[n - 1]);    }    return 0;}

题意:输入n。之后输入n×n的01矩阵。就是翻列。问最后可以有多少行全是1.

题解:其实质就是找行最多相同的数量。三个for循环直接搞定...然而我还是瞎比搞半天。比较两行,看是否相同,相同cnt[k] ++。最后输出最大的cnt即是结果。

0 0