开两个数组求出每一行、每一列的和

然后遍历把行和列的和加起来 减去多算的这个位置的数字即可

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll r[1000005],c[1000005];
int main(){
    int n,m;cin>>n>>m;
    vector<vector<ll>> a(n+1,vector<ll>(m+1));
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            scanf("%lld",&a[i][j]);
            r[i]+=a[i][j];
        }
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            c[i]+=a[j][i];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cout<<r[i]+c[j]-a[i][j]<<" ";
        }cout<<endl;
    }
    return 0;
}