結果
問題 | No.242 ビンゴゲーム |
ユーザー | mobius_bkst |
提出日時 | 2015-07-11 11:35:42 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 52 ms / 2,000 ms |
コード長 | 2,221 bytes |
コンパイル時間 | 3,571 ms |
コンパイル使用メモリ | 78,480 KB |
実行使用メモリ | 50,596 KB |
最終ジャッジ日時 | 2024-07-08 02:57:56 |
合計ジャッジ時間 | 4,134 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 48 ms
50,592 KB |
testcase_01 | AC | 52 ms
50,444 KB |
testcase_02 | AC | 52 ms
50,224 KB |
testcase_03 | AC | 51 ms
50,232 KB |
testcase_04 | AC | 51 ms
50,104 KB |
testcase_05 | AC | 51 ms
50,196 KB |
testcase_06 | AC | 50 ms
50,580 KB |
testcase_07 | AC | 50 ms
50,432 KB |
testcase_08 | AC | 50 ms
50,596 KB |
testcase_09 | AC | 49 ms
50,324 KB |
testcase_10 | AC | 50 ms
50,520 KB |
ソースコード
import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigInteger; public class No242 { public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new InputStreamReader( System.in)); BigInteger N = new BigInteger(br.readLine()); double numerator = combination(N, new BigInteger("5")) .doubleValue(); double denominator = combination(new BigInteger("99"), new BigInteger("5")).doubleValue(); System.out.println(numerator * 12 / denominator); } catch (Exception e) { e.printStackTrace(); System.err.println("Error:" + e.getMessage()); } } static BigInteger combination(BigInteger n, BigInteger r) { if (n.compareTo(r) < 0) { return BigInteger.ZERO; } BigInteger n_r = n.subtract(r); BigInteger facN = factorial(n); BigInteger facN_R = factorial(n_r); BigInteger facR = factorial(r); return facN.divide(facN_R.multiply(facR)); } static BigInteger factorial(BigInteger n) { BigInteger ans = BigInteger.ONE; for (long i = n.longValue(); i >= 1; i--) { ans = ans.multiply(BigInteger.valueOf(i)); } return ans; } // static long combination(long n, long r) { // // if (n < r) { // return 0; // } // // long n_r = n - r; // // for (long i = n - 1; i >= 1; i--) { // n *= i; // } // // if (n == 0) { // n = 1; // } // // for (long i = n_r; i >= 1; i--) { // n_r *= i; // } // // if (n_r == 0) { // n_r = 1; // } // // for (long i = r - 1; i >= 1; i--) { // r *= i; // } // // if (r == 0) { // r = 1; // } // // return n / (n_r * r); // } static int[] strToIntArray(String S) { String[] strArray = S.split(" "); int[] intArray = new int[strArray.length]; for (int i = 0; i < strArray.length; i++) { intArray[i] = Integer.parseInt(strArray[i]); } return intArray; } }