【CF 1028A】Find Square

                                        A. Find Square

Consider a table of size n×mn×m, initially fully white. Rows are numbered 11 through nn from top to bottom, columns 11 through mm from left to right. Some square inside the table with odd side length was painted black. Find the center of this square.

Input

The first line contains two integers nn and mm (1≤n,m≤1151≤n,m≤115) — the number of rows and the number of columns in the table.

The ii-th of the next nn lines contains a string of mm characters si1si2…simsi1si2…sim (sijsij is 'W' for white cells and 'B' for black cells), describing the ii-th row of the table.

Output

Output two integers rr and cc (1≤r≤n1≤r≤n, 1≤c≤m1≤c≤m) separated by a space — the row and column numbers of the center of the black square.

Examples

input

5 6
WWBBBW
WWBBBW
WWBBBW
WWWWWW
WWWWWW

output

2 4

input

3 3
WWW
BWW
WWW

output

2 1

 

题意:给出一个字符矩阵,找出由‘B’构成的矩阵的中心位置(数据保证长宽为奇数)。

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<cmath>
#include<set>
#include<map>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define mem(a,b) memset(a,b,sizeof(a))
#define closeio std::ios::sync_with_stdio(false)

char a[150][150];

int main()
{
	int n,m,i,j,left=0,right=inf,up=0,down=inf;
	cin>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			cin>>a[i][j];
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{	
			if(a[i][j]=='B')
			{
				if(!left&&!up)			//找到第一次出现的B 
				{
					left=j;
					up=i;
				}	
				if(j==m||a[i][j+1]=='W')
					right=j;
				if(i==n||a[i+1][j]=='W')
					down=i;
			}
		}
	}
	cout<<(up+down)/2<<" "<<(left+right)/2<<endl;
	return 0;
}

 

全部评论

相关推荐

完美的潜伏者许愿简历...:隐藏信息被你提取出来了,暗示,这就是暗示
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务