0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AtCoder初心者振り返りメモ ABC332

Posted at

ABC332の回

A-問題

332A.png

シナリオを忠実にコードに反映させた

A.py
N,S,K = map(int,input().split())

all = 0

for _ in range(N):
    P,Q = map(int,input().split())

    # 購入費の総和を求める
    all += P * Q

# 送料が必要か判定する
if all < S:
    print(all + K)
else:
    print(all)

B-問題

332B.png

この問題もシナリオを忠実にコードに反映させた

B.py
K,G,M = map(int,input().split())

# グラスとマグカップの初期値 0
g = 0
m = 0

# K回繰り返す
while K: 
    K -= 1

    # グラスが満杯なら空にする
    if g == G:
        g = 0
    
    # マグカップが空なら満杯する
    elif m == 0:
        m += M
    
    # グラスに注げる分だけ移動する
    elif (G - g) <= m:
        m -= (G - g)    
        g = G

    # マグカップに入っている分すべてをグラスに注ぐ
    elif (G - g) > m:
        g += m
        m = 0

print(g,m)

C-問題

332C.png

洗濯済無地シャツが無かったり、イベントに行くときにロゴ入りシャツを購入する
丁寧に実装したつもりが本番では、16問WA でした。最後に洗濯済と購入したロゴ入りシャツを加算するのを
忘れていたかもしれません。

C.py
# 無地のTシャツM枚
N,M = map(int,input().split())
S = input()

# ストックしている無地のシャツ
m = M

# 無地を汚したシャツをカウントする
xm = 0

# ロゴ付きシャツ
l = 0

# ロゴ付きを汚したシャツをカウントする
xl = 0

for i in range(N):
    if(S[i]=="0"):

        # 汚したシャツを洗濯する
        m += xm
        xm = 0

        # 汚したシャツを洗濯する
        l += xl
        xl = 0

    elif(S[i]=="1"):

        # 無地が残っているとき
        if  m > 0:
            m -= 1
            xm += 1
        
        # ロゴが残っているとき
        elif l > 0:
            l -= 1
            xl += 1
        else:
            # ロゴを買って着る
            xl += 1

    elif S[i]=="2":
        # ロゴが残っているとき
        if  l > 0:
            l -= 1
            xl += 1
        else:
            # ロゴを買って着る
            xl += 1

# ロゴの枚数を集計
l += xl

print(l)
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?