LoginSignup
0
0

More than 3 years have passed since last update.

はじめに

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出してるので落ち着いて解けるようにしないといけない。ではまた、おやすみなさい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0