結果

問題 No.3 ビットすごろく
コンテスト
ユーザー sue_charo
提出日時 2017-04-12 16:21:38
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
RE  
実行時間 -
コード長 610 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 501 ms
コンパイル使用メモリ 20,824 KB
実行使用メモリ 41,388 KB
最終ジャッジ日時 2026-04-02 02:32:58
合計ジャッジ時間 9,943 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other RE * 33
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

# coding: utf-8
import sys
sys.getrecursionlimit(10 ** 6)

N = int(input())


def search_move(num):
    count = 0
    for i in list(bin(num)):
        if i == "1":
            count += 1
    return count


if N == 1:
    print(1)
    quit()

memo = [0] * (N + 1)


def move(count=1, num=1):
    global memo
    if num == N:
        return count

    if num <= 0 or num > N:
        return -1
    else:
        if memo[num] == 1:
            return -1

        memo[num] = 1
        move_num = search_move(num)
        return max(move(count + 1, num - move_num), move(count + 1, num + move_num))

print(move())
0