[编程题] 涂棋盘
来源:互联网 发布: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();
}
}
- [编程题] 涂棋盘
- [网易编程题] 涂棋盘
- 网易2017春招[编程题]涂棋盘@Java
- 【算法题】涂棋盘
- 网易2017春招笔试真题编程题集合——9.涂棋盘
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 涂棋盘--网易2017春招实习笔试编程题9
- 棋盘类游戏编程
- 网易2017春招编程题:读棋盘 [python]
- 【编程素质】算法-棋盘覆盖
- 模拟题 : 棋盘游戏
- 棋盘
- 棋盘!!!
- 棋盘
- 棋盘
- 棋盘
- 棋盘
- Apache Ranger中Yarn插件使用问题
- 51 NOD 1417 天堂里的游戏(博弈)
- Ubuntu 网卡配置
- 32:行程长度编码
- MySql的Blob字段报错:Data truncation: Data too long for column 'CONTENT' at row 1
- [编程题] 涂棋盘
- SpringBoot利用redis集成消息队列
- 卷积神经网络的一些改进操作
- mac下安装git后提示安装xcode
- 后台返回json,前台接收有问题
- org.hibernate.exception.SQLGrammarException:could not insert:问题解决
- 8-29 DAIRY
- VS软件的日常
- Python 踩坑记录