ABC091-B - Two Colors Card Game を解く
ABC091-B - Two Colors Card Game
青いカードに書かれた文字列全てについてシミュレーションをすればいい
(また、赤いカードについてのシミュレーションは無駄である
正の得点となる文字列であれば青いカードの方に出現するからだ)
ここで注意しておきたいことは
青いカードに書かれた文字列全てのパターンで
得点が負になる可能性があるという点
・得点が負になるパターン
1
2
上記の場合で "apple" を宣言してしまうと 1 - 2 = - 1 で、- 1 点となってしまう
したがってこの場合は、赤いカードにない適当な文字列を宣言した場合である
「0点」が最大得点となる
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) l1=[] for i in range(N): l1.append(input()) M=int(input()) l2=[] for i in range(M): l2.append(input()) # 考えられる最低得点で初期化 mx=-len(l2) for x in l1: # 得点 a=l1.count(x) # 失点 b=l2.count(x) mx=max(mx,a-b) # 得点が負だった場合は0を出力 print(max(mx,0))
提出結果はACでした