【AtCoder】ABC 447 A - Seats 2

A - Seats 2
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
AtCoder
実行時間制限: 2 sec / メモリ制限: 1024 MiB / Difficulty: 15 / NoviSteps: 7Q / 配点: 100 点
問題概要
個の座席が横一列に並んでいて、各座席には最大で 人まで座ることができる。 隣り合う つの席の両方に人が座らないように 人を座席に座らせることができるかどうか判定せよ。
制約
- 入力される値は全て整数
考察
左から1つおきに座らせていくことを考えると、最大で 人を座らせることができる。
したがって、 ならばYes、そうでなければNoと判定できる。
実装例
CPP
1.#include <bits/stdc++.h>2.using namespace std;3. 4.template <class T1, class T2>5.inline auto div_ceil(T1 a, T2 b)6.{7. if (b < 0)8. a *= -1, b *= -1;9. if (a <= 0)10. return a / b;11. else12. return (a - 1) / b + 1;13.}14. 15.// ======================================== //16. 17.int main()18.{19. int N, M;20. cin >> N >> M;21. 22. if (div_ceil(N, 2) >= M)23. cout << "Yes" << endl;24. else25. cout << "No" << endl;26. 27. return 0;28.}https://atcoder.jp/contests/abc447/submissions/73673948
atcoder.jp
実装時間: 5 分以内
コメント
なんかこの問題を思い出した。
https://atcoder.jp/contests/wtf19-open/tasks/wtf19_e
atcoder.jp





