特定のパターンに従う時間が本当に好きです。特に、すべての数字が同じであるか、すべての数字が左から右に1ずつ算術的に増加する時間が好きです。さらに、私が人々が私の時代に手紙を書くとき、私は内心的に嫌うので、そのAM / PMナンセンスのすべては私にとって死んでいます。したがって、私の好きな時間は次のとおりです。
0000 0123 1111 1234 2222 2345
私の心の平和のために、入力として現在の時間を与えられた単一のプログラムを書く必要があります:(A)今が私のお気に入りの時間の1つではない場合、私に両方を教えます(i)何分(ii)今から何分後に私の次のお気に入りの時間が発生するのと同様に、私の最後のお気に入りの時間からです。および(B)それがあればある今、私のお気に入りの回の1、単一の「信号値」を提供しています。
入力
プログラムはstdin
、次のいずれかの形式で、現在の時刻を(関数引数、コマンドライン引数などの方法で)受け入れる必要があります。
文字列としての4桁の時刻
文字列として4桁の時刻を作成するために左側にゼロを追加できる整数
シーケンスの最初の整数が時間入力の左端(有効)桁になるように順序付けられた4つ(またはそれ以下)の整数のシーケンス(たとえば、または
0951
として有効に表現できます)[0, 9, 5, 1]
[9, 5, 1]
0000
長さゼロのシーケンスとして表現することは受け入れられます
文字列入力の場合、数字のみを含む必要があり、コロンやその他の句読点は使用できません。 入力は常に有効な24時間と見なすことができます: HHMM
、ここで0 <= HH <= 23
および0 <= MM <= 59
。うるう秒の可能性を無視します。
出力
プログラムは、入力値がターゲット時間であるかどうかに応じて、(A)または(B)のstdout
いずれかを提供する必要があります(関数の戻り値などはすべて問題ありません)。
のために):
次のような適切な形式の2つの数値を指定します。
適切な区切り文字を使用した単一文字列出力
連続した整数/文字列出力。たとえば、次の
bash
2行を出力しますstdout
。49 34
Pythonリスト、C配列など、長さ2の順序付けられた戻り値:
[49, 34]
値はどちらの順序でもかまいません。たとえば、次の両方は、入力に対する有効な出力になります1200
。
49 34
34 49
ただし、順序と区切り文字はすべての入力値で同じでなければなりません!
(B)の場合:
他の方法では達成できない結果を生成します。同じ結果がしかし、目標時間の6つのすべてのために製造しなければなりません。無限ループは除外されます。
サンプル入力/出力
YAY!!!
ここでは実証的な例として使用されており、規範的ではありません。
Input Output
------ --------
0000 YAY!!!
0020 20 63
0105 65 18
0122 82 1
0123 YAY!!!
0124 1 587
0852 449 139
1111 YAY!!!
1113 2 81
1200 49 34
1234 YAY!!!
1357 83 505
1759 325 263
1800 326 262
1801 327 261
2222 YAY!!!
2244 22 61
2345 YAY!!!
2351 6 9