AtCoder日記

atcoderやって見ることにしました。
面白かったなーと思った問題の解答メモを残していこうかなとか思い始めました。
続くかどうかは不明。

796 views

C To3の問題

https://atcoder.jp/contests/abc182/tasks/abc182_cの問題。

問題の解説は、数学チックで思いつかなかった。
どうやったら探索できるか考えた末、2進数を使って、マスクを作れば行けると思ったら、行けた。
汚いけど、コードを晒す。

# coding:UTF-8


if __name__ == '__main__':
    strN = input()
    #values = list(map(int, input().split()))
    KETA = len(strN)
    pattern = 2**KETA-1
    #2進数のマスク作ればいい
    find = False
    for mask in range(pattern, 0, -1):
        total = 0
        bin_mask = "{:0>{}b}".format(mask, KETA)
        for i, b in enumerate(bin_mask):
            if b == "1":
                total += int(strN[i])

        erase_num = 0
        if (total > 0) and (total % 3 == 0):
            for b in bin_mask:
                if b == "0":
                    erase_num += 1
            print(erase_num)
            find = True
            break
    if find is False:
        print("-1")

Page 1 of 3.

次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626