トニー・スタークがアイアンマンになるのを手伝ってくれる?


8

トニー・スタークは、私たちが知っているように、アイアンマン(メタルスーツとたくさんの武器を身に着けたその超素晴らしい男)です。ただし、メタルスーツがなければ、彼はその称号を主張できません。偉大なエゴを持っているトニースタークは、世界で最も難しいトライアスロン(アイアンマンレースと同等の距離)と見なされているノースマンをフィニッシュして、アイアンを離れても平均的なマシンであることを証明したいと考えています。家に。

Tonyには、コンテストの各部分に事前定義されたスケジュール/タイムプランがあります。
つまり、レースのすべての場所(つまり、開始からの距離)には、スケジュールに基づいて彼がそこに到着する予定時刻があります。

彼はまた、過ごした時間とカバーされた総距離を知らせる時計を持っています。

あなたの仕事は次のとおりです。これらの2つの値を入力として、スケジュールよりどれだけ進んでいるか、または遅れているかをトニーに伝えます。入力は、フォーマットの時間hh:mm:ss(または(オプション)h:mm:ssが10時間未満の場合)、彼が到達した距離(km)を示す10進数です。

3つの分野のそれぞれの距離は次のとおりです。

Swim: 3.8 km
Bike: 180 km
Run: 42 km
Total distance: 225.8 km   // Input will never exceed 225.8

各パーツの推定時間(つまり、スケジュール):

Swim: 1:20:00
Transition 1: 0:12:00
Bike: 7:10:00
Transition 2: 0:05:00
Run: 4:50:00
Total: 13:37:00

距離と推定時間の両方がレース前に与えられるため、ハードコードすることができます。トランジションゾーンは、彼が服や設備を変更する場所にすぎないため、トランジション中は移動しません。

入力は、カンマ区切り、文字列、2つの個別の引数、または言語で最も便利なものにすることができます。彼+/-mm:ssは時間ではなく形式での出力を望んでいます(彼が1時間を超えるのが遅すぎたり速すぎたりしないと想定してください。移行中の場合は、彼がそこにたどり着いたと想定できます。

例と説明(長さについての謝罪):

Input: 04:32:20 93.8
Output: +34:40 / 34:40

93.8 kmで、彼は水泳を終え、トランジションを通過し、自転車の脚の半分を終えました。スケジュールによると、これは彼を連れて行ったはずです:1:20:00 + 0:12:00 + (0.5 * (07:10:00)) = 5:07:00。彼が使用している場合は4:32:20、その後、彼はだ34:40前倒し。


Input: 1:20:00 3.8
Output: +00:00 / +0:00 / 00:00 / 0:00 / -00:00 / -0:00

距離が3.8であると仮定すると、彼が最初の遷移ゾーンに入ったと想定できます。ここでの推定時間は1:20:00だったので、上記の入力では時間どおりです。


時間がの場合、1:25:00スケジュールより5分遅れているため、次のようになります。

Input: 1:25:00 3.8
Output: -05:00 / -5:00

詳細に説明された別の例:

Input: 10:33:46 198.14

したがって、198.14 kmの距離がカバーされています。つまり、水泳(3.8)、自転車の脚(180 km)、14.34 kmのランニングを終え、両方のトランジションを終えました。スケジュールによると、彼は次の後にランを開始しているはず1:20:00 + 0:12:00 + 07:10:00 + 0:05:00 = 8:47:00です:。42 kmのランニングには4:50:00がかかるため、14.34 kmにはが必要です4:50:00 * (14.34 / 42) = 1:39:01。したがって、計画によると、198.14 kmは次のようになります8:47:00 + 1:39:01 = 10:26:01。彼はを使用10:33:46しましたが07:45、計画を上回っています。

Output: -07:45 / -7:45   

プラス記号はオプションですが、予定より遅れている場合はマイナス記号が必要です。

出力は上記の例とまったく同じフォーマットである必要がありますが、末尾のスペース、改行などは問題ありません。

これはコードゴルフなので、バイト単位の最短コードが優先されます。

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.