結果
問題 | No.173 カードゲーム(Medium) |
ユーザー | kou6839 |
提出日時 | 2015-03-27 00:38:16 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 374 ms / 3,000 ms |
コード長 | 1,412 bytes |
コンパイル時間 | 2,399 ms |
コンパイル使用メモリ | 79,748 KB |
実行使用メモリ | 51,956 KB |
最終ジャッジ日時 | 2024-06-29 01:17:49 |
合計ジャッジ時間 | 6,457 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 155 ms
45,072 KB |
testcase_01 | AC | 240 ms
48,164 KB |
testcase_02 | AC | 347 ms
51,944 KB |
testcase_03 | AC | 349 ms
51,956 KB |
testcase_04 | AC | 354 ms
48,872 KB |
testcase_05 | AC | 338 ms
49,176 KB |
testcase_06 | AC | 330 ms
48,744 KB |
testcase_07 | AC | 371 ms
49,024 KB |
testcase_08 | AC | 367 ms
51,428 KB |
testcase_09 | AC | 374 ms
48,748 KB |
ソースコード
import java.math.BigInteger; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n = sc.nextInt(); double ra = sc.nextDouble(); double rb = sc.nextDouble(); ArrayList<Integer> aa = new ArrayList<>(); ArrayList<Integer> bb = new ArrayList<>(); for(int i=0;i<n;i++) aa.add(sc.nextInt()); for(int i=0;i<n;i++) bb.add(sc.nextInt()); Collections.sort(aa); Collections.sort(bb); int awin=0; for(int i=0;i<50000;i++){ int suma =0; int sumb =0; ArrayList<Integer> a = new ArrayList<>(aa); ArrayList<Integer> b = new ArrayList<>(bb); while(true){ if(a.size()==1){ int acard=a.get(0); int bcard = b.get(0); if(acard>bcard){ suma+=acard+bcard; }else{ sumb+=acard+bcard; } break; }else{ int acard=0; int bcard=0; if(Math.random()<=ra){ acard=a.get(0); a.remove(0); }else{ int waa=(int)(Math.random()*(a.size()-1)+1); acard=a.get(waa); a.remove(waa); } if(Math.random()<=rb){ bcard=b.get(0); b.remove(0); }else{ int waa=(int)(Math.random()*(b.size()-1)+1); bcard=b.get(waa); b.remove(waa); } if(acard>bcard){ suma+=acard+bcard; }else{ sumb+=acard+bcard; } } } if(suma>sumb) awin++; } System.out.println(awin*1.0/50000); } }