题目链接:http://codeforces.com/contest/828/problem/B点击打开链接
题意:让你画全黑的正方形 要求其余地方是白的 求出这个正方形的四个角边界 判断是否超出原有图形 如果都没有边界则输出1
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include<algorithm>
#include <math.h>
#include <string.h>
#include <limits.h>
#include <string>
#include <queue>
#include <stack>
#include <set>
#include <vector>
using namespace std;
char a[111][111];
int minx=INT_MAX,miny=INT_MAX,maxx=0,maxy=0;
int main()
{
int n,m;int sum=0;
scanf("%d%d",&n,&m);
getchar();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%c",&a[i][j]);
if(a[i][j]=='B')
{
minx=min(minx,i);
maxx=max(maxx,i);
miny=min(miny,j);
maxy=max(maxy,j);
sum++;
}
}
getchar();
}
//printf("%d %d %d %d\n",minx,maxx,miny,maxy);
int maxedge=0;
if(!sum)
{
printf("1");
return 0;
}
maxedge=max(maxx-minx+1,maxy-miny+1);
if(maxedge>n||maxedge>m)
printf("-1");
else
printf("%d",maxedge*maxedge-sum);
}