1 solutions
-
0
#include <bits/stdc++.h> using namespace std; int n,m,a[25][25],maxn = 1; int main(){ cin>>n>>m; for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ cin>>a[i][j]; } } for(int k = 1;k<=n;k++){//遍历边长 for(int i = 1;i<=n-k+1;i++){//遍历正方形左上角行 for(int j = 1;j+k-1<=m;j++){//遍历正方形左上角列 int sum = 0; //遍历左上角为(i,j)边长为k的正方形,求该正方形元素和 for(int x = i;x<=i+k-1;x++){ for(int y= j;y<=j+k-1;y++){ sum+=a[x][y]; } } //如果遍历的正方形没有0,正方形元素和等于边长*边长 if(k*k==sum){ maxn = k; } } } } cout<<maxn; return 0; }
Information
- ID
- 3603
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 13
- Accepted
- 5
- Uploaded By