1.审题失误:数组开太大,直接编译失败
2.漏掉的关键一点是:求完每列每行应该把num归零
#include<iostream>
#include<vector>
using namespace std;
long long a[1010][1010];
long long ans=0,num=0,n,m;
signed main() {
vector<int> v;
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>a[i][j];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(a[i][j]!=0)ans++;
if(a[i][j]>num) num=a[i][j];
}
v.push_back(num);
num=0;
}
for(int j=0;j<m;j++)
{
for(int i=0;i<n;i++)
{
if(a[i][j]>num) num=a[i][j];
}
v.push_back(num);
num=0;
}
for(int i=0;v[i];i++) ans=ans+v[i];
cout<<2*ans;
return 0;
}
谁懂python的痛苦