CCF-GESP计算机学会等级考试2024年6月四级C++T1黑白方块
·


解析:因为mn都是小于等于10;可以用枚举法,详见代码:
#include<bits/stdc++.h>
using namespace std;
int a[15][15];
int m,n;
int ans=0;
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char ch;
cin>>ch;
a[i][j]=ch-'0';
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){//枚举矩阵左上角坐标i,j
for(int ii=i;ii<=n;ii++){
for(int jj=j;jj<=m;jj++){//枚举矩阵右下角坐标ii,jj
//判断是否为平衡矩阵
int cnt=0;//统计有多少个1
for(int x=i;x<=ii;x++){
for(int y=j;y<=jj;y++){
cnt+=a[x][y];
}
}
if (cnt*2==(ii-i+1)*(jj-j+1)){//1占一半,即平衡
ans=max(ans,(ii-i+1)*(jj-j+1));
}
}
}
}
}
cout<<ans<<endl;
return 0;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)