atcoderやって見ることにしました。
面白かったなーと思った問題の解答メモを残していこうかなとか思い始めました。
続くかどうかは不明。
796 views
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/