开两个数组求出每一行、每一列的和
然后遍历把行和列的和加起来 减去多算的这个位置的数字即可
#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; }