今天石老师组织了比赛,显然(失误了)
这一题其实很水,但是数组开打了,其实我们可以在读入的时候预处理
用 记录第行有多少只青蛙,记录竖行,分别记录两个对角线
code:
#include<iostream>
using namespace std;
const int MAXN=1e3+5;
int n,m;
int mp[MAXN][MAXN];
int h[MAXN],s[MAXN];
int l[MAXN*2],r[MAXN*2];
int minn=0x3f3f3f3f;
int main(){
cin>>n>>m;
int t=max(n,m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
if(mp[i][j]){
h[i]+=mp[i][j];s[j]+=mp[i][j];
l[i+j]+=mp[i][j];r[i-j+t]+=mp[i][j];
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(mp[i][j])continue;
int ans=h[i]+s[j]+l[i+j]+r[i-j+t];
if(ans<minn)minn=ans;
}
}
if(minn==0x3f3f3f3f)cout<<0<<"\n";
else cout<<minn<<"\n";
return 0;
}