はじめに
A~Cの三完でした。
A問題
考えたこと
比較するだけ
s = input()
t = input()
n = len(t)
if s == t[:n-1]:
print('Yes')
else:
print('No')
B問題
考えたこと
致命的なtypoに気付かずに2WA()
a, b, c, k = map(int,input().split())
if a >= k: #k個全てa
print(k)
elif a + b >= k: #cを取ると減るので、bから取る
print(a)
else:
n = k - (a + b)
ans = a + -1 * n
print(ans)
C問題
考えたこと
Bで2WAして焦ってたので、提出するのが遅れてしまった。典型的なbit全探索、Nが十分に小さいの耐える。
n, m, x = map(int,input().split())
ca = [list(map(int,input().split())) for _ in range(n)]
costs = []
for i in range(2 ** n):
flag = True
cost = 0
algos = [0] * m
op = [False] * n
for j in range(n):
if ((i >> j) & 1):
op[n - j - 1] = True
#print(op)
for j in range(n):
if op[j]:
for k, u in enumerate(ca[j][1:]):
algos[k] += u
cost += ca[j][0]
for j in algos:
if j < x:
flag = False
if flag:
costs.append(cost)
if len(costs) == 0:
print(-1)
else:
print(min(costs))
D問題
考えたこと
ループ見つけて余りを求めてごにょごにょしてたけど8個くらいのケースで通らずにWA。
まとめ
ここ3回のABCは毎回A,BでWA出してるので落ち着いて解けるようにしないといけない。ではまた、おやすみなさい。