結果
問題 | No.242 ビンゴゲーム |
ユーザー |
![]() |
提出日時 | 2015-07-11 11:35:42 |
言語 | Java (openjdk 23) |
結果 |
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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 |
ソースコード
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;}}