题意:
有n*m的办公室放一张方形的桌子,桌子的最大周长是多少。
解析:
暴力枚举一下左上角和右下角。
#include<bits/stdc++.h>
using namespace std;
char M[30][30];
int ok(int i,int j,int k,int l){
for(int a=i;a<=k;a++){
for(int b=j;b<=l;b++){
if(M[a][b]=='1')return 0;
}
}
return 1;
}
int main(){
int n,m;
cin>>n>>m;
int res=0;
for(int i=0;i<n;i++)scanf("%s",M[i]);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
for(int k=i;k<n;k++){
for(int l=j;l<m;l++){
if(ok(i,j,k,l)&&((k-i+1)*2+2*(l-j+1))>res){
res=(k-i+1)*2+2*(l-j+1)-4;
// printf("%d %d %d %d\n",i,j,k,l);
}
}
}
}
}
cout<<res<<endl;
}