2nd Day Problem B: Restaurant Problemsetting by: Y.Izumi Comments by: D.Mikurube 問題の方向性 シミュレーション問題 多数ある条件を読み落とさないようにしましょう というタイプの問題の中で、中程度の難易度 ちょくちょく出るタイプの問題です 回答提出 5 件 / 正解 2 件でした 思ったよりチャレンジしてくれなかったなあ そんなに難しいわけじゃないはずなんだけど 問題概要 レストランのコックをシミュレート Input: メニュー一覧 [一度に作れる数, かかる時間] 注文一覧 [時刻, その注文で頼んだもの一覧] 同じ時刻に複数の「注文」が来ることは無い 同じ料理が複数含まれていることがある 同じ注文中の料理の順番は無関係 Output: 各注文について、全て処理し終わった時刻 問題概要 (cont.) コックの行動 : 基本的には来た注文から片付ける 同じ注文中の優先順位: かかる時間 → メニュー順 同じものが溜まっていたら一度に片付ける かかる時間は 1 つ作ってもまとめて作っても一緒 一度に作れる数には限界がある ある客の注文を全部作り終わったらまとめて出す 解法 まあ、がんばればどうとでもなりますが 解法 (cont.) まあ、がんばればどうとでもなりますが 工夫のしどころとしては、 注文を全部バラバラにして、 かかる時間 → メニュー順、でまとめてソート i:全注文, j: i~最後の注文 で2重ループ <注文時刻> → <完了時刻> の map に 結果を保存 同じ時刻の注文は無いので、時刻が ID になる
© Copyright 2024 ExpyDoc