网易2017春招笔试——涂棋盘

涂棋盘

题目

小易有一块n*n的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。

输入描述:

输入数据包括n+1行:
第一行为一个整数n(1 ≤ n ≤ 50),即棋盘的大小
接下来的n行每行一个字符串表示第i行棋盘的颜色,’W’表示白色,’B’表示黑色

输出描述:

输出小易会涂画的区域大小

输入例子:

3
BWW
BBB
BWB

输出例子:

3


代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string s[52];
int n;
cin >> n;
for (int i = 0; i < n; i++) cin >> s[i];
int maxCnt = 0;
for (int i = 0; i < n; i++) {
int cnt = 1;
for (int j = 1; j < n; j++) {
if (s[j][i] == s[j - 1][i]) {
cnt++;
}
else {
maxCnt = max(maxCnt, cnt);
cnt = 1;
}
}
maxCnt = max(maxCnt, cnt);
}
cout << maxCnt << endl;
return 0;
}
------本文结束感谢阅读------