AtCoder 競プロ典型90問の問題から、その提出コードの解答例です。
AtCoderとは、コンテストを通じて、プログラミングやアルゴリズムを学習するサービスです。
atcoder.jp
プログラミングコンテストとは、「与えられた問題をいかに素早く、正確に」解くことができるかを競うものです。
「競技プログラミング」を略して、「競プロ」などと呼ばれています。
#004 - Cross Sum(★2)
僕が作成、提出したコードは、以下のとおりです。
/* AtCoder Problems in C++ #004 - Cross Sum(★2) https://atcoder.jp/contests/typical90/tasks/typical90_d 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll h,w; cin>>h>>w; vector<vector<ll>> a(h,vector<ll>(w)); for(ll i=0;i<h;i++){ for(ll j=0;j<w;j++){ cin>>a[i][j]; } } vector<ll> hs(h,0),ws(w,0); for(ll i=0;i<h;i++){ for(ll j=0;j<w;j++){ hs[i]+=a[i][j]; ws[j]+=a[i][j]; } } for(ll i=0;i<h;i++){ for(ll j=0;j<w;j++){ cout<<hs[i]+ws[j]-a[i][j]<<(j==w-1 ? "\n" : " "); } } return 0; }
AtCoder 競プロ典型90問は、AtCoderの問題を解くために必要な実力を付けるために作られた「典型問題」を解いていく企画です。
現在は常設ジャッジとなっているので、アカウントを登録すれば誰でも、いつでも問題を解くことができます。
https://atcoder.jp/contests/typical90