2 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=110; char g[N][N]; int main() { int n,m,k; cin>>n>>m>>k; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>g[i][j]; } } int res=1000000; for(int x1=1;x1<=n;x1++) { for(int y1=1;y1<=m;y1++) { for(int x2=x1;x2<=n;x2++) { for(int y2=y1;y2<=m;y2++) { int cnt1=0; //黑色方块数量 int cnt2=0; //方块数量 for(int i=x1;i<=x2;i++) { for(int j=y1;j<=y2;j++) { if(g[i][j]=='1') cnt1++; //黑色格子数量增加 cnt2++; } } if(cnt1>=k) { res=min(res,cnt2); } } } } } if(res==1000000) { res=0; } cout<<res; return 0; }
Information
- ID
- 2185
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- # Submissions
- 10
- Accepted
- 1
- Uploaded By