CF1028A Find Square 题解
_Spectator_ · · 题解
可能更好的食用体验
这道题的思路很明显:找到黑色矩形的左上角和右下角的坐标,取它们的平均点即为中心。
#include<bits/stdc++.h>
using namespace std;
int n,m,l,u,r,d;//left,up,right,down
char ch;
int main()
{
cin>>n>>m;l=u=1<<30;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
cin>>ch;
if(ch=='B')
{
u=min(u,i),l=min(l,j);//u和l分别取最先出现B的i、j
d=max(d,i),r=max(r,j);//d和r分别取最后出现B的i、j
}
}
cout<<(u+d)/2<<' '<<(l+r)/2;//取平均点
return 0;
}