結果

問題 No.161 制限ジャンケン
ユーザー kmjpkmjp
提出日時 2015-02-02 02:18:50
言語 Python2
(2.7.18)
結果
AC  
実行時間 12 ms / 5,000 ms
コード長 927 bytes
コンパイル時間 659 ms
コンパイル使用メモリ 7,040 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-30 04:23:48
合計ジャッジ時間 1,104 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*-

G,C,P = map(int,raw_input().strip().split())
S = raw_input().strip()

# 相手の各手の数を数える
EG,EC,EP = 0,0,0
for i in range(len(S)):
	EG += S[i]=="G"
	EC += S[i]=="C"
	EP += S[i]=="P"

point = 0

# 勝てるところを勝つ。
# min(自分のグーの数, 相手のチョキの数)だけ相手のチョキにグーを出す。
# パー・チョキも同様
NG = min(G, EC); G -= NG; EC -= NG
NC = min(C, EP); C -= NC; EP -= NC
NP = min(P, EG); P -= NP; EG -= NP
point += 3*(NG+NC+NP)

# あいこに出来るところをあいこにする。
# min(自分のグーの数, 相手のグーの数)だけ相手のグーにグーを出す。
# パー・チョキも同様
NG = min(G, EG); G -= NG; EG -= NG
NC = min(C, EC); C -= NC; EC -= NC
NP = min(P, EP); P -= NP; EP -= NP
point += (NG+NC+NP)

# 残りは負けるだけで、どうせ0ポイントなので何もしない。
print point
0