💪

【チャレンジ記録】競プロ典型 90 問_4問目

2022/01/07に公開

※勉強中のため、考察など後ほど付け加える可能性があります。

問題

https://atcoder.jp/contests/typical90/tasks/typical90_d

考えたこと

  • 入力の時に足し算も並行して行えるようにあらかじめ配列を用意した。

解答

#include <bits/stdc++.h>
#include <atcoder/all>
#include <vector>
#include <cstdint>
#define FOR(i,l,r) for(int i=(l);i<(r);++i)
#define RFOR(i,l,r) for(int i=(l);i>=(int)(r);i--)
#define rep(i,n)  FOR(i,0,n)
#define rrep(i,n)  RFOR(i,n-1,0)

#define int long long
#define ll long long
using namespace std;
using namespace atcoder;
const ll MX = 1e6;
const ll inf = 1e13;
const int mod = 1000000007;
int a[2001][2001];
signed main(){
    int h,w;
    cin>>h>>w;
    vector<int> b(w);
    vector<int> c(h);
    rep(i,h) {
        rep(j,w) {
            cin>>a[i][j];
            b[j]+=a[i][j];
            c[i]+=a[i][j];
        }
    }
    rep(i,h) {
        rep(j,w) {
            cout << c[i]+b[j]-a[i][j] << " ";
        }
        cout << "" << endl;
    }
    return 0;
}

Discussion