【AtCoder】ABC 449 B - Deconstruct Chocolate

B - Deconstruct Chocolate
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
AtCoder
実行時間制限: 2 sec / メモリ制限: 1024 MiB / Difficulty: 45 / NoviSteps: ??? / 配点: 200 点
問題概要
行 列のブロックからなる長方形状のチョコレートがある。
個のクエリが与えられるので、順に処理せよ。 各クエリは、以下のいずれかの形式である。
1 R: 下 行のチョコレートのブロックの個数を求め、それらを食べる。2 C: 右 列のチョコレートのブロックの個数を求め、それらを食べる。
なお、クエリを順に処理したとき、各クエリを処理した後もチョコレートは長方形状であり、タイプ のクエリを処理する直前の時点でチョコレートは 行以上存在し、タイプ のクエリを処理する直前の時点でチョコレートは 列以上存在することが保証される。
制約
- タイプ のクエリについて、
- タイプ のクエリについて、
- 入力される値はすべて整数
考察
現在のチョコレートのサイズが であるとき、
- クエリ1: 個のブロックを食べることになり、その後のチョコレートのサイズは になる。
- クエリ2: 個のブロックを食べることになり、その後のチョコレートのサイズは になる。
したがって、クエリを処理するごとに、 をそれぞれ更新していけばよい。
実装例
CPP
1.#include <bits/stdc++.h>2.using namespace std;3. 4.// ======================================== //5. 6.int main()7.{8. int H, W, Q;9. cin >> H >> W >> Q;10. 11. while (Q--)12. {13. int t;14. cin >> t;15. 16. if (t == 1)17. {18. int R;19. cin >> R;20. 21. cout << R * W << endl;22. 23. H -= R;24. }25. else26. {27. int C;28. cin >> C;29. 30. cout << C * H << endl;31. 32. W -= C;33. }34. }35. 36. return 0;37.}
Submission #74079632 - AtCoder Beginner Contest 449
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
AtCoder
実装時間: 5 分
コメント
ホワイトデーネタでした。





