[编程题] 涂棋盘

来源:互联网 发布:linux凝思重启网卡命令 编辑:程序博客网 时间:2024/05/03 18:23

时间限制:1秒

空间限制:32768K

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

输入描述:

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

输出描述:

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

输入例子1:

3
BWW
BBB
BWB

输出例子1:

3

测试用例:

8

BBWWBBWW

BBWWBBWW

WWBBWWBB

WWBBWWBB

BBWWBBWW

BBWWBBWW

WWBBWWBB

WWBBWWBB

对应输出应该为:

2

package NeteaseSpring2017;

import java.util.Scanner;

public class DrawArea1{ 

      publicstatic voidmain(String[]args)

      {

           Scanner scan = newScanner(System.in);

           while(scan.hasNext())//接受多组输入

         {

                 int n=Integer.parseInt(scan.nextLine());

                 int[]result=newint[n];

                 int[]max=newint[n];

                 int ret=0;

                 char[][]board=newchar[n][n];

                 for(inti=0;i<n;i++)//

                 {

                      String temp=scan.nextLine();

                      for(intj=0;j<n;j++)//

                      {

                            board[i][j]=temp.charAt(j);

                      }

                 }

                 for(inti=0;i<n;i++)

                 {

                      result[i]=1;//记录每列当前相同颜色区域大小

                      max[i]=1;//记录每列最大相同颜色区域大小

                 }

                 for(inti=1;i<n;i++)//

                 {

                      for(int j=0;j<n;j++)//

                      {

                            if(board[i][j]==board[i-1][j])

                            {

                                  result[j]++;

                                  if(result[j]>max[j])

                                       max[j]=result[j];

                            }

                            else

                                  result[j]=1;

                      }

                 }

                 for(int i=0;i<n;i++)

                 {

                      if(max[i]>ret)

                            ret=max[i];

                 }

                 System.out.println(ret);

         }

           scan.close();

      }

}

原创粉丝点击