結果
| 問題 |
No.161 制限ジャンケン
|
| コンテスト | |
| ユーザー |
kmjp
|
| 提出日時 | 2015-09-19 10:53:03 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 13 ms / 5,000 ms |
| コード長 | 935 bytes |
| コンパイル時間 | 109 ms |
| コンパイル使用メモリ | 6,948 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-30 04:45:58 |
| 合計ジャッジ時間 | 1,010 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
# -*- 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
kmjp