AtCoder Beginner Contest 299 B問題 Trick Taking
問題
提出解答
問題の概要
人がトリックテイキング型のゲームを行った.
各カードには色と値が設定されている. なお, 全てのカードの値は異なっている.
現在, 場の切り札の色は である.
人の人は 人 枚ずつカードを出した. 番目の人が出したカードの色は で, 値は である.
この 枚のカードから次のようにして 人の勝者を決定する.
- 枚のカードの中に切り札の色のカードが存在する場合, 切り札の色のカードのうち, 値が最大であるカードを出した人が勝者である.
- 枚のカードの中に切り札の色のカードが存在しない場合, 番目の人が出したカードの色のカードのうち, 値が最大であるカードを出した人が勝者である.
勝者は誰か?
制約
- は全て異なる.
解法
まず, 勝負の対象となるカードの色 を求め, 色 のカードのうち, 値が最大であるようなカードを出した人を求めれば良い. ここで, は
- の中に が存在するならば, である.
- の中に が存在しないならば, である.
を求めるパート, 最大の値のカードを求めるパート, 勝者を求めるパートは全て for 文で求めることができる.