[がんばれ]伯俊16953 A->B


リンク
白駿16953 A->B
2を掛ける
右側に1(*10+1)を追加すると、すべての場合の数値が作成されます.
再帰的に木を生成することにより,徹底的な探索を行った.
すべての場合、計算する数値が計算する数値より大きい場合、ツリーで検索が停止します.
正しいコード
def cal(a, b, cnt):
    global ans
    if a > b:
        return
    if a == b:
        ans = cnt + 1
        return
    else:
        cal(a * 2, b, cnt + 1)
        cal((a * 10) + 1, b, cnt + 1)


A, B = map(int, input().split())
ans = -1
cal(A, B, 0)
print(ans)
知るところ👨‍💻
  • 在貴在貴在貴在貴在貴在貴在貴