小易有一塊n*n的棋盤,棋盤的每一個格子都為黑色或者白色,小易現在要用他喜歡的紅色去塗畫棋盤。小易會找出棋盤中某一列中擁有相同顔色的最大的區域去塗畫,幫助小易算算他會塗畫多少個棋格。
輸入描述:
輸入資料包括n+1行:
第一行為一個整數n(1 ≤ n ≤ 50),即棋盤的大小
接下來的n行每行一個字元串表示第i行棋盤的顔色,’W’表示白色,’B’表示黑色
輸出描述:
輸出小易會塗畫的區域大小
輸入例子1:
3
BWW
BBB
BWB
輸出例子1:
3
解題思路
周遊棋盤的每一列,尋找最長連續串。
import java.util.Scanner;
public class Main {
private static int fun(int[][] data) {
int max = ;
for (int i = ; i < data[].length; i++) {
int num = data[][i];
int count = ;
for (int j = ; j < data.length; j++) {
if (num == data[j][i]) {
count++;
if (count > max)
max = count;
} else {
num = data[j][i];
count = ;
}
}
}
return max;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int[][] data = new int[n][n];
for (int i = ; i < n; i++) {
String string = sc.nextLine();
for (int j = ; j < n; j++) {
if (string.charAt(j) == 'B') {
data[i][j] = ;
} else {
data[i][j] = ;
}
}
}
System.out.println(fun(data));
}
}