Port 53

明日のための技術メモ

AtCoder ABC167

AtCoder ABC167解いた分だけまとめ。
C問題でbit全探索出て解けなかった...昇格は次回以降におあずけ。
C問題は別の記事で書きます。

目次

解説AC

A. Registration

f:id:saturn-glave:20200511202153p:plain

問題文

最初にルールに基づいて生成される予定の文字列を出しておき、
それと一致するかを判定するだけ。

ACしたコード

# coding:utf-8
s = input()
t = input()
i = s + t[-1]


if i == t:
    print('Yes')
else:
    print('No')

B. Easy Linear Programming

f:id:saturn-glave:20200511202410p:plain

問題文

加算されるのは1が書いてあるA枚だけなので、優先的に1のカードを選ぶ。
1がなくなったら0が書いてあるB枚、それでもだめなら-1が書いてあるC枚から選ぶ。

選ぶK枚をすべて1が書いてあるA枚で賄えるかがポイント

ACしたコード

# coding:utf-8
a, b, c, k = map(int, input().split())
point = 0

if k <= a:
    point += k
elif k > a and (k - a) <= b:
    point += a
elif k > a and (k - a) > b:
    point = a + (-1) * (k - a - b)

print(point)

C. Skill Up

以下の記事を参照のこと

port53.hatenablog.com