結果
問題 | No.398 ハーフパイプ(2) |
ユーザー | Grenache |
提出日時 | 2016-07-15 23:30:43 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 81 ms / 2,000 ms |
コード長 | 3,696 bytes |
コンパイル時間 | 4,293 ms |
コンパイル使用メモリ | 78,548 KB |
実行使用メモリ | 39,076 KB |
最終ジャッジ日時 | 2024-06-27 14:34:40 |
合計ジャッジ時間 | 6,074 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 73 ms
38,848 KB |
testcase_01 | AC | 74 ms
38,420 KB |
testcase_02 | AC | 72 ms
38,580 KB |
testcase_03 | AC | 79 ms
39,076 KB |
testcase_04 | AC | 80 ms
38,792 KB |
testcase_05 | AC | 72 ms
38,452 KB |
testcase_06 | AC | 81 ms
38,508 KB |
testcase_07 | AC | 73 ms
38,504 KB |
testcase_08 | AC | 77 ms
38,676 KB |
testcase_09 | AC | 76 ms
38,332 KB |
testcase_10 | AC | 72 ms
38,344 KB |
testcase_11 | AC | 71 ms
38,608 KB |
testcase_12 | AC | 72 ms
38,548 KB |
testcase_13 | AC | 72 ms
38,712 KB |
testcase_14 | AC | 72 ms
38,680 KB |
testcase_15 | AC | 73 ms
38,808 KB |
testcase_16 | AC | 73 ms
38,580 KB |
ソースコード
import java.io.*; import java.util.*; public class Main_yukicoder398 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Printer pr = new Printer(System.out); double x = sc.nextDouble(); int xx = (int)(x * 4); long ret = 0; for (int i = 0; i <= 100; i++) { for (int j = i; j <= 100; j++) { for (int k = j; k <= 100; k++) { int tmp = xx - i - j - k; if (tmp < k || tmp > 100) { continue; } if (i == j && j == k && k == tmp) { ret += 1; ret += i * 6; ret += (100 - tmp) * 6; ret += i * (100 - tmp) * 6 * 5; } else if (i == j && j == k && k != tmp) { ret += 1 * 6 * 5 / 2; // 6!/4!/2! ret += i * 6 * 5 * 4 / 2; // 6!/3!/2! ret += (100 - tmp) * 6 * 5; // 6!/4! ret += i * (100 - tmp) * 6 * 5 * 4; // 6!/3! } else if (i == j && j != k && k == tmp) { ret += 1 * 6 * 5 * 4 / 3 / 2; //6!/3!/3! ret += i * 6 * 5 * 4 / 2; // 6!/2!/3! ret += (100 - tmp) * 6 * 5 * 4 / 2; // 6!/3!/2! ret += i * (100 - tmp) * 6 * 5 * 4 * 3 / 2; // 6!/2!/2! } else if (i == j && j != k && k != tmp) { ret += 1 * 6 * 5 * 4 / 2; //6!/3!/2! ret += i * 6 * 5 * 4 * 3 / 2; // 6!/2!/2! ret += (100 - tmp) * 6 * 5 * 4; // 6!/3! ret += i * (100 - tmp) * 6 * 5 * 4 * 3; // 6!/2! } else if (i != j && j == k && k == tmp) { ret += 1 * 6 * 5 / 2; //6!/2!/4! ret += i * 6 * 5; // 6!/4! ret += (100 - tmp) * 6 * 5 * 4 / 2; // 6!/2!/3! ret += i * (100 - tmp) * 6 * 5 * 4; // 6!/3! } else if (i != j && j == k && k != tmp) { ret += 1 * 6 * 5 * 4 * 3 / 2 / 2; //6!/2!/2!/2! ret += i * 6 * 5 * 4 * 3 / 2; // 6!/2!/2! ret += (100 - tmp) * 6 * 5 * 4 * 3 / 2; // 6!/2!/2! ret += i * (100 - tmp) * 6 * 5 * 4 * 3; // 6!/2! } else if (i != j && j != k && k == tmp) { ret += 1 * 6 * 5 * 4 / 2; //6!/2!/3! ret += i * 6 * 5 * 4; // 6!/3! ret += (100 - tmp) * 6 * 5 * 4 * 3 / 2; // 6!/2!/2! ret += i * (100 - tmp) * 6 * 5 * 4 * 3; // 6!/2! } else if (i != j && j != k && k != tmp) { ret += 1 * 6 * 5 * 4 * 3 / 2; //6!/2!/2! ret += i * 6 * 5 * 4 * 3; // 6!/2! ret += (100 - tmp) * 6 * 5 * 4 * 3; // 6!/2! ret += i * (100 - tmp) * 6 * 5 * 4 * 3 * 2; // 6! } } } } pr.println(ret); sc.close(); pr.close(); } @SuppressWarnings("unused") private static class Scanner { BufferedReader br; Iterator<String> it; Scanner (InputStream in) { br = new BufferedReader(new InputStreamReader(in)); } String next() throws RuntimeException { try { if (it == null || !it.hasNext()) { // it = Arrays.asList(br.readLine().split(" ")).iterator(); it = Arrays.asList(br.readLine().split("\\p{javaWhitespace}+")).iterator(); } return it.next(); } catch (IOException e) { throw new IllegalStateException(); } } int nextInt() throws RuntimeException { return Integer.parseInt(next()); } long nextLong() throws RuntimeException { return Long.parseLong(next()); } float nextFloat() throws RuntimeException { return Float.parseFloat(next()); } double nextDouble() throws RuntimeException { return Double.parseDouble(next()); } void close() { try { br.close(); } catch (IOException e) { // throw new IllegalStateException(); } } } private static class Printer extends PrintWriter { Printer(PrintStream out) { super(out); } } }