デジタル時計の数字を入れ替える能力を持ってるとする
例えば8:30→3:08みたいなこと
そのときに、定時の8:30から17:15までをなるべく短く過ごすには何分かかるか
そして、定時が異なるときに、公式を導くことができるのか
誰かわかったら教えてくれ
あらかじめ表示されている数字を入れ替えるだけだったら8:30から17:15にならないよね
どういう操作が許されるのか、1回の操作にどれだけ時間が掛かるかなどを決めないと答えが出せない
8:30から9分待って8:39、数字を入替えて9:38
7分待って9:45、入替えて9:54
21分待って10:15、入替えて11:50
7分待って11:57、入替えて17:15
待った時間の合計が44分
みたいなことじゃないか?
上が正解かどうかはわからんが
hh:mm全パターンをノード
1分経つ or 数値を入れ替える操作をエッジ
とする有向グラフを作って、幅優先探索すればいい
プログラミングの良い演習問題だと思う
問題文には書かれてないが
・時刻を過去に戻してはならない
(または、0時をまたいで進めてはならない)
・存在しない時刻を作ってはならない
(時分の1の位が空欄、24時以上、60分以上など)
といった縛りも明文化しておきたい
南京錠のケタを入れ替えるパズルに似てるな
「アディのおくりもの」を思い出した
追加
時計は故障しておらず、1分経過すると時刻表示が変わるものとする
>>11>>12
条件もこれを想定してた
でも
>>10が教えてくれるとおりプログラミングで簡単に解けるんだね