考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC139-B - Power Socket を解く

ABC139-B - Power Socket

 

1 口しかない電源プラグに A 口のタップを差していき B 口以上にする 

最小でいくつのタップが必要か(タコ足配線…)

 

とりあえずシミュレーションで1つずつ増やしていき

初めて B 口を超えた時のタップの数を出力すればいい

 

差し方に関わらず「1 つ差すと合計 A 口増えて 1 口減る(A - 1 口増える)」

ことになる

タップを差すために 1 つ口が減ることに注意する

 

以上を踏まえて書いたコードを以下に示す

 

提出したコード

# 入力
a,b=map(int,input().split())

# 初期状態(1口)
n=1

# タップの数
ans=0

# タップを1つずつ差していく
while True:
  # b口以上になったら終了
  if n>=b:
    print(ans)
    exit()
    
  # 差すことでa口増えるが、差した口も1つ減る
  n+=a
  n-=1
  ans+=1

 

提出結果はACでした