カレンダー問題
ちょっと面白い問題を見つけたから解いてみてほしい。
— Екатерина II (@ishihara716) 2016年12月26日
『●の中に0から9までの数字を"1回ずつ"入れて、カレンダーで一番早く訪れる日時を答えよ。』
●●月●●日●●時●●分●●秒
これ、絶妙な難しさ。一見単純そうだけど割と頭を使う。
こんな問題がTwitterのタイムライン上で話題になっていた。
この問題自体はTLでスマニアさん(@smania0711)が証明していたのだが、証明の最後に「それでは問題。最もカレンダー上で『遅い』のは?」との問いかけがあり、考えてみることに。
というわけで自分なりに証明してみた。
ab月cd日ef時gh分ij秒とおく。
a = 1 の場合
b = 0, 2が確定。
b = 0 の場合
(c, d) = (2, 3)が確定し、e = 0, 1, 2を満たせなくなるため不適。
b = 2 の場合
(c, d) = (0, 3) or (3, 0)が確定し、e = 0, 1, 2を満たせなくなるため不適。
以上から、a = 1 の場合、条件を満たす値の組み合わせは存在しない。
a = 0 の場合
b = 8以下の場合
b = 9 を満たすどの組み合わせよりも早くなるため不適。
(ex. 09月16日23時48分57秒より遅くならない)
b = 9 の場合
c = 1, 2, 3の場合をそれぞれ考える。
c = 3 の場合
9月は30日までであり、0が使用済みであるので不適。
c = 2 の場合
この場合、e = 1が確定し、「09月2d日1f時gh分jk秒」の形となる。
d = 7 の場合
d = 8 を満たすどの組み合わせよりも早くなるため不適。
(ex. 09月28日13時46分57秒より遅くならない)
d = 8 の場合
「09月28日1f時gh分jk秒」の形となる。
g = 3, 4, 5 かつ j = 3, 4, 5であり、
この条件下で遅くなる組み合わせはg = 5, j = 4。
「09月28日1f時5h分4k秒」の形となる。
f, h, kは制限がないので、
最も遅くなる組み合わせはf = 7, h = 6, k = 3。
よってこの場合、09月28日17時56分43秒が条件に合致。
c = 1 の場合
c = 2 を満たすどの場合よりも早くなるため不適。
よって、09月28日17時56分43秒が解となる。