You are on page 1of 2

#include <iostream>

#include<math.h>
using namespace std;

int main()
{
int m,n,i,j,flag=0,flag1=0,count=0,ans=0,x=0,y=0;
char a[150][150];
cin>>m>>n;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
if(a[i][j]=='B')
{
flag=1;
count++;
}
else if(a[i][j]=='W')
{
if(flag==1)
flag=2;
}
}
}
if(flag==0)
{
cout<<1<<endl;
}
else if(flag==2)
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]=='B')
{
flag1=1;
break;
}
}
if(flag1==1)
break;
}
flag1=0;
x=i;
y=j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(a[j][i]=='B')
{
flag1=1;
break;
}
}
if(flag1==1)
break;
}
if(abs(x-j)>abs(y-i))
{
ans=abs(x-j)+1;
cout<<(ans*ans)-count<<endl;
}
else
{
ans=abs(y-i)+1;
cout<<(ans*ans)-count<<endl;
}
}
else if(flag==1)
{
if(m==n)
{
cout<<0<<endl;
}
else
{
cout<<-1<<endl;
}
}
// your code goes here
return 0;
}

You might also like