AtCoder ABC 013 B – 錠 Python解説

スポンサーリンク

セキュリティ意識の高い高橋君はこの度、自分の家に新しい錠をつけることにしました。
この錠はダイヤルロック式で、1 桁の数字が表示されるディスプレイと、赤色と青色の 2 種類のボタンがついています。赤いボタンを押すとディスプレイに表示されている数が 1 増え、青いボタンを押すと 1 減ります。
ただし、ディスプレイの表示が 9 のときに赤いボタンを押すと 0 になり、ディスプレイの表示が 0 のときに青いボタンを押すと 9 になります。
いま、ディスプレイに表示されている数字は a で、この数字が b になった瞬間に錠が開きます。さて、錠を開けるためには最低何回はボタンを押す必要があるでしょうか?

AtCoder Beginner Contest 013「錠」

aとbの単純な引き算に加え、0→9と9→0をまたぐ場合の小さいほうを出力する。
パターンは少ないので、それぞれの場合を書いてmin関数で比較し、ボタンを押す回数を求める。

a = int(input())
b = int(input())

x = abs(a - b)
y = abs(a - (b + 10))
z = abs((a + 10) - b)

print(min(x, y, z))