Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 352 A - AtCoder Line | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 14

問題概要

 1, 2, \dots, N の番号が付いた  N 個の駅があり、駅  1 を始発駅として駅  N へ向かう上り列車と、駅  N を始発駅として駅  1 へ向かう下り列車が運行されている。今、駅  X から駅  Y へ上り列車か下り列車に乗車して移動することを考える。この移動の間に乗車した列車が駅  Z に停車することがあるかを判定せよ。なお、列車は各駅に停車する。

制約

  • 入力はすべて整数。
  •  3 \leq N \leq 100
  •  1 \leq X, Y, Z \leq N
  •  X, Y, Z は相異なる。

考察

長々と書かれているが、要は  X < Z < Y または  Y < Z < X を満たせばYes、そうでなければNoということである。これをif文で丁寧に場合分けして判定していけばよい。

コード

#include <bits/stdc++.h>
using namespace std;

// ======================================== //

int main()
{
    int N, X, Y, Z;
    cin >> N >> X >> Y >> Z;

    if (Y > X && (X < Z && Z < Y)) cout << "Yes" << endl;
    else if (Y < X && (Y < Z && Z < X)) cout << "Yes" << endl;
    else cout << "No" << endl;
}

atcoder.jp

実装時間: 5分以内