結果
問題 | No.161 制限ジャンケン |
ユーザー |
![]() |
提出日時 | 2018-07-23 21:47:36 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 157 ms / 5,000 ms |
コード長 | 931 bytes |
コンパイル時間 | 3,423 ms |
コンパイル使用メモリ | 76,628 KB |
実行使用メモリ | 41,384 KB |
最終ジャッジ日時 | 2024-12-30 17:49:21 |
合計ジャッジ時間 | 7,013 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int G = scan.nextInt(); int C = scan.nextInt(); int P = scan.nextInt(); String S = scan.next(); scan.close(); // 相手の各手の数 int cnt1 = 0; int cnt2 = 0; int cnt3 = 0; for(int i = 0; i < S.length(); i++) { char c = S.charAt(i); if(c == 'G') { cnt1++; }else if(c == 'C') { cnt2++; }else { cnt3++; } } //System.out.println(cnt1 +" " + cnt2 + " "+ cnt3); // 勝つパターン int m1 = Math.min(G, cnt2); int m2 = Math.min(C, cnt3); int m3 = Math.min(P, cnt1); int p3 = m1 + m2 + m3; G -= m1; cnt2 -= m1; C -= m2; cnt3 -= m2; P -= m3; cnt1 -= m3; // あいこ m1 = Math.min(G, cnt1); m2 = Math.min(C, cnt2); m3 = Math.min(P, cnt3); int p2 = m1 + m2 + m3; int ans = 3 * p3 + p2; System.out.println(ans); } }