Asa's Website

C - Official House

cpaojitp1

最終更新日

Table of Contents

Loading...

問題

https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/6/ITP1_6_C

問題文

1 フロア 10 部屋、3 階建ての 4 棟の公舎がある。
入居・退去の情報をもとに、各部屋の入居者数を管理してね。

nn 件の情報が与えられる。
各クエリ bfrvb f r vbbffrr 部屋に vv 人が入居したことを表す。
v<0v < 0 なら v|v| 人が退去したことを表す。

制約

サンプル

I/O 1

3 1 1 3 8 3 2 2 7 4 3 8 1
0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #################### 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #################### 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #################### 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

考察

3 次元配列を使えばそのまま。

コード

https://onlinejudge.u-aizu.ac.jp/status/users/a01sa01to/submissions/1/ITP1_6_C/judge/6370745/C++17

int main() { int a[4][3][10]; rep(i, 4) rep(j, 3) rep(k, 10) a[i][j][k] = 0; int n; cin >> n; rep(_, n) { int b, f, r, v; cin >> b >> f >> r >> v; --b, --f, --r; a[b][f][r] += v; } rep(i, 4) { rep(j, 3) { rep(k, 10) { cout << " " << a[i][j][k]; } cout << endl; } if (i < 3) cout << "####################" << endl; } return 0; }