码迷,mamicode.com
首页 > 其他好文 > 详细

B. Ohana Cleans Up

时间:2015-07-17 18:30:12      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:http://codeforces.com/problemset/problem/554/B

题目大意:

      奥哈马清理一间被分成n*n格的房间,每格使用数字‘1’和‘0’来表示状态,单格用1表示,则表明是干净的,用0表示则是脏的。清理时,奥哈马只能一整列的打扫,而且被打扫的单格如果是干净(1)的就会变脏(0),而如果是脏(0)的就会变干净(1)。清理的列数不定,问他清理后最多有多少行能完全干净?

案例:    

 

        Input
        4
0101
1000
1111
0101
        Output
        2
        Input
        3
111
111
111
        Output
        3

 

题目分析:

     不计列数清理多少次,则可忽略此处条件,从行数考虑。行与行相同则清理后结果相同,所以本题可以从行之间相同的初始状态着手,计算出最大的行相同数即为所求。

源代码:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 #define max 100
 5 int main()
 6 {
 7     int n,p,x=0,i;
 8     string s[max];
 9     cin>>n;//输入行(列)数
10     for(i=0;i<n;i++)
11        cin>>s[i];//输入每行的初始状况
12     for(i=0;i<n;i++)
13     {  for(int j=0;j<n;j++)
14           if(s[i]==s[j])
15              p++;//找出具有相同状态的行数
16        if(p>x) x=p;//将最大的行数赋值给x
17        p=0;
18     }
19     cout<<x<<endl;
20     return 0;
21 }

 

    

 

B. Ohana Cleans Up

标签:

原文地址:http://www.cnblogs.com/huaszjh/p/4654960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!