結果
問題 |
No.509 塗りつぶしツール
|
ユーザー |
![]() |
提出日時 | 2023-03-02 12:16:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 39 ms / 2,000 ms |
コード長 | 939 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 82,232 KB |
実行使用メモリ | 52,352 KB |
最終ジャッジ日時 | 2024-09-17 08:04:19 |
合計ジャッジ時間 | 2,081 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
# 待てよ、背景を最初に赤などにすると異なるか # 例108. 今までの方法なら数3、穴3、BG1、数3で合計10 # BGからやると、BG赤、1を白に1、穴赤3、数白2、穴黒3、BG黒で合計11 # 穴があるとBGからやるのはペイしない # しかし穴がない例111なら、BG赤、数白3、BG黒、の計5回で従来方法の7よりよい # 穴が少なければこっちの方がいいはず、たとえば1111110 # ということは2方法で計算して最小値が答えだろう # in ans2, 1 for [1, 2, 3, 5, 7], 3 for [0, 4, 6, 9], 5 for [8], +2 for BG N = input() ans1 = 0 ans2 = 0 for i in range(len(N)): if int(N[i]) in [1, 2, 3, 5, 7]: ans1 += 2 ans2 += 1 elif int(N[i]) in [0, 4, 6, 9]: ans1 += 3 ans2 += 3 elif int(N[i]) == 8: ans1 += 4 ans2 += 5 ans1 += 1 ans2 += 2 ans = min(ans1, ans2) print(ans) #print(ans1, ans2)