考えて競プロする

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

ABC045-B - 3人でカードゲームイージー / Card Game for Three (ABC Edit) を解く

ABC045-B - 3人でカードゲームイージー / Card Game for Three (ABC Edit)

 

問題文の通りシミュレーションするコードを書けばよさそうだ

出力例1を見るとどんな感じに処理が行われるかがわかりやすい

 

また、持っているカードが全てなくなった時点で勝ちとなるわけではない

ことに注意したい

自分のターンが回ってきたときに捨てるカードがない場合に勝ちとなる

 

以上を踏まえて実装していく

 

提出したコード

# 入力
SA=list(input())
SB=list(input())
SC=list(input())

# 次に捨てる人(初期値は'A')
x='a'

while True:
  if x=='a':
    # リストの要素が0ならば終了する
    if len(SA)==0:
      print('A')
      exit()

    # 先頭要素を除去してxに代入
    x=SA[0]
    SA.remove(x)
  elif x=='b':
    # リストの要素が0ならば終了する
    if len(SB)==0:
      print('B')
      exit()

    # 先頭要素を除去してxに代入
    x=SB[0]
    SB.remove(x)
  else:
    # リストの要素が0ならば終了する
    if len(SC)==0:
      print('C')
      exit()

    # 先頭要素を除去してxに代入
    x=SC[0]
    SC.remove(x)

 

提出結果はACでした