zoukankan      html  css  js  c++  java
  • Ohana Cleans Up

    Ohana Cleans Up

    Description

    Ohana Matsumae is trying to clean a room, which is divided up into an n by 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.

    Input

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

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

    Output

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

    Sample Input1

    Input
    4
    0101
    1000
    1111
    0101
    Output
    2
    Sample Input2
    Input
    3
    111
    111
    111
    Output
    3
     
    题意:
       给定一个由n*n块地砖铺成的房间,每块砖用0表示未打扫,1表示已打扫。
     要求打扫时只能整列地扫,未打扫的会变为已打扫,已打扫的会变为未打扫。
    即1会变成0,而0会变成1,
    求一种打扫方案,使得打扫完后整行地砖均为已打扫的行数最大。
    分析:

    如果两行地砖状态完全相同,那么无论如何打扫,这两行地砖的状态始终都是完全相同的(因为打扫的时候必须打扫整列)。

    要使最后整行为1的行数最大,就是求开始时整行地砖处于相同状态的行数最大。

    所以只需将整行看做一个字符串,将出现最多的字符串的次数输出。

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 #define maxn 100
     5 int n,count=0;
     6 string a[maxn];
     7 int main()
     8 {int x=0;
     9     cin>>n;
    10 for(int i=0;i<n;i++)
    11   cin>>a[i];
    12 for(int  l=0;l<n;l++)
    13 {  count=0;
    14  for( int k=l;k<n;k++)
    15   if(a[l]==a[k])
    16     count++;
    17 if(count>x)
    18 x=count;
    19 }
    20 cout<<x<<endl;
    21 return 0;
    22 }
     


  • 相关阅读:
    OCM_Session1_2_Server-side Network Configuration
    sql union代替or
    创建组合索引SQL从1个多小时到1S的案例
    OCM_session0手动建库实验
    慎用位图索引
    Java之List排序
    Java之List排序出错
    dojo、iframe和FusionCharts兼容性
    Java之indexOf()方法
    Java之split()方法
  • 原文地址:https://www.cnblogs.com/fenhong/p/4656269.html
Copyright © 2011-2022 走看看