公式

B - 電車の乗り換え/Changing Trains 解説 by MMNMM


この問題は for 文や if 文を適切に用いることで解くことができます。

電車の情報をすべて確認し、高橋駅ゆきのものなら、これまでに見た電車より到着時刻が早いか判定すればよいです。

実装例は以下のようになります。

#include <iostream>

using namespace std;

int main() {
    int N;
    cin >> N;

    // 最初の到達時刻と、それに対応するのが何本目の電車か
    int first_arrival = 1000000000, first_train_id = 0;

    for (int i = 1; i <= N; ++i) {
        string destination;
        int time;
        cin >> destination >> time;
        // 行き先が高橋駅で、これまでに見た電車より早く着くなら
        if (destination == "Takahashi" && first_arrival > time) {
            // 情報を更新
            first_arrival = time;
            first_train_id = i;
        }
    }

    cout << first_train_id << endl;
    return 0;
}

投稿日時:
最終更新: