Ohana Cleans Up
来源:互联网 发布:爱奇艺获取网站源码 编辑:程序博客网 时间:2024/06/09 22:09
点击打开链接
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.
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.
The output should be a single line containing an integer equal to a maximum possible number of rows that are completely clean.
40101100011110101
2
3111111111
3
这道题的大意就是求出一个n*n的列表中相同行数最大的行数。
算法://#include<cstdio> #include<stdio.h> #include <string.h> #include<iostream> #include<algorithm> using namespace std; int main() { char s[105][105]; int n,i,max=0,c,j,k; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",s[i]); } for(i=0;i<n;i++) { c=0; for(j=i+1;j<n;j++) { for(k=0;k<n;k++) { if(s[i][k]==s[j][k]) { continue; } else { break; } } if(k==n) { c++; } } if(c>max) { max=c; } } printf("%d\n",max+1); //加一是加上包括自己的那一行 return 0; }这个算法比较暴力,把每一行依次与后面的行数进行比较,依次类推,求出相同行数最多的一组。
#include<cstdio> #include <string.h> #include<iostream> #include<algorithm> using namespace std; string mps[110];int main(){ int n; cin>>n; for(int i = 0;i < n; i++) cin>>mps[i]; int res = 0; for(int i = 0;i < n; i++) { int ans = 0; for(int j = 0;j < n; j++){ if(mps[i] == mps[j]) ans++; } res = max(ans,res); } cout<<res<<endl;return 0;}这个程序与上一个程序最大的不同就是它在做比较行的时候直接比较了一行的字符串,而第一个是每行每个数字单独比较的,这样就比较麻烦了,不过我没想通的是为什么后者的运行时间会比前者的多。
- Codeforces554B:Ohana Cleans Up
- B. Ohana Cleans Up
- Ohana Cleans Up
- Ohana Cleans Up
- Ohana Cleans Up
- Ohana Cleans Up
- 【codeforces】Ohana Cleans Up
- Ohana Cleans Up
- Ohana Cleans Up CodeForces
- Ohana Cleans Up
- Ohana Cleans Up
- Codeforces 554B Ohana Cleans Up
- #309 (div.2) B. Ohana Cleans Up
- CF 554B Ohana Cleans Up
- codeforces 554B Ohana Cleans Up
- CodeForces-554B Ohana Cleans Up
- CF 554B Ohana Cleans Up
- coderforce 554B Ohana Cleans Up
- org.apache.commons.lang.StringUtils;的时候出错解决方法
- 深度学习Matlab工具箱代码注释——cnnapplygrads.m
- 安卓一键去广告工具
- oracle中pivot和unpivot函数用法举例
- angular1.x + ES6开发风格记录
- Ohana Cleans Up
- eclipse打开,莫名报一堆错(Syntax error on tokens, delete these tokens )
- POJ3304(计算几何基础-判断线段与直线相交)
- 百练_2752:字符串数组排序问题
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- No module named 'cv2'出错
- 低功耗蓝牙cc2541学习笔记之协议栈工作原理
- GitHub上排名前100的Android开源库介绍
- 公告:iTest新版本发布,率先支持Android7.0+