ちょっと細かいところミスった人も多いかもしれないね。
問題概要
ビ太郎は帰省することにした。
今日から 日後の午前に実家に着き、今日から
日後の午前に実家を去る。
それを聞きつけたビバ子は、今日から 日後の午後にビ太郎の実家を訪れることにした。ビバ子がビ太郎に会えるか判定せよ。
解法
落ち着いて考えましょう。ビバ子がビ太郎に会えるためには、
- ビバ子が訪れるときには、ビ太郎は帰省して実家についている
- ビバ子が訪れるときには、ビ太郎はまだ実家を去っていない
という 2 つの条件を満たすことが必要です (逆にこれらを満たせば、ビバ子はビ太郎に会えます)。
1 個目の条件
1 個目の条件は、
と表せます。 の場合にも、ビバ子はビ太郎に会えることに注意しましょう。ビ太郎は午前に実家に着き、ビバ子は午後に訪れるので会えるのです。
2 個目の条件
2 個目の条件は、
と表せます。今度は、 の場合は、ビバ子はビ太郎には会えないことに注意しましょう。ビ太郎は午前に実家を去るので、ビバ子が午後に訪れるときには、もう会えないのです。
コード
以上をまとめると、次の解法となります。
のとき、1 を出力
- そうでないとき、0 を出力
なお、 は C++ では、
A <= C && C < B
というように、2 つの不等式に分けて書く必要があることに注意しましょう。
#include <bits/stdc++.h> using namespace std; int main() { int A, B, C; cin >> A >> B >> C; if (A <= C && C < B) cout << 1 << endl; else cout << 0 << endl; }