ABC167 - Atcoder/Python精進のための解説メモ
2022/12/27
ABC167 - A.Registration
AtCoder公式 | ABC167 - A.Registration解答
s = input()
t = input()
print('Yes' if s == t[:-1] else 'No')
要点解説メモ
- シンプルに比較
ABC167 - B.Easy Linear Programming
AtCoder公式 | ABC167 - B.Easy Linear Programming解答
a, b, c, k = map(int, input().split())
if k <= a:
ans = k * 1
else:
if k <= a + b:
ans = a * 1
else:
ans = a * 1 + (k - a - b) * (-1)
print(ans)
要点解説メモ
- a,b,cの順にできるだけ、たくさん取るのが最適なので、場合分けする
ABC167 - C.Skill Up
AtCoder公式 | ABC167 - C.Skill Up解答
n, m, x = map(int, input().split())
caaa = [list(map(int, input().split())) for _ in range(n)]
ans = 1e7
for bit in range(1 << n):
caxax = [0] * (m + 1)
for i, caa in enumerate(caaa):
if (bit >> i) & 1:
for j in range(m + 1):
caxax[j] += caa[j]
if all(x <= ax for ax in caxax[1:]):
ans = min(ans, caxax[0])
print(-1 if ans == 1e7 else ans)
要点解説メモ
- Mが高々12なので、買う本の組み合わせを全探索する
ABC167 - D.
AtCoder公式 | ABC167 - D.解答
まだ解いていません