Submission #125392
Source Code Expand
import java.io.PrintWriter; import java.util.Arrays; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Main { static final long MOD = 1000000007; public static void main(String[] args) { Scanner in = new Scanner(System.in); PrintWriter out = new PrintWriter(System.out); int R = in.nextInt(); int C = in.nextInt(); int Y = in.nextInt(); int X = in.nextInt(); int D = in.nextInt(); int L = in.nextInt(); long[][] cmb = new long[1001][1001]; for (int i = 0 ; i < cmb.length ; i++) { cmb[i][0] = cmb[i][i] = 1; for (int j = 1 ; j < i ; j++) { cmb[i][j] = (cmb[i-1][j] + cmb[i-1][j-1]) % MOD; } } int DL = D+L; long[][][] dp = new long[2][16][DL+1]; dp[0][0][0] = 1; for (int i = 0 ; i < X*Y ; i++) { int ptn = 0; int y = i / X; int x = i % X; if (y == 0) { ptn |= 1; } if (y == Y-1) { ptn |= 2; } if (x == 0) { ptn |= 4; } if (x == X-1) { ptn |= 8; } int fi = i%2; int ti = 1-fi; for (int p = 0 ; p < 16 ; p++) { for (int u = 0 ; u <= DL ; u++) { // use if (u+1 <= DL) { dp[ti][p|ptn][u+1] += dp[fi][p][u]; dp[ti][p|ptn][u+1] %= MOD; } // not use dp[ti][p][u] += dp[fi][p][u]; dp[ti][p][u] %= MOD; } } for (int p = 0 ; p < 16 ; p++) { Arrays.fill(dp[fi][p], 0); } } int xyi = (X*Y)%2; long ans = dp[xyi][15][DL] * cmb[DL][D]; ans %= MOD; ans *= (R-Y+1)*(C-X+1); ans %= MOD; out.println(ans); out.flush(); } public static void debug(Object... os) { System.err.println(Arrays.deepToString(os)); } }
Submission Info
Submission Time | |
---|---|
Task | D - AtCoder社の冬 |
User | hamadu |
Language | Java (OpenJDK 1.7.0) |
Score | 101 |
Code Size | 2297 Byte |
Status | AC |
Exec Time | 764 ms |
Memory | 38256 KB |
Judge Result
Set Name | sub | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 100 / 100 | 1 / 1 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sub | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, test_03E.txt, test_04E.txt, test_07E.txt, test_08E.txt, test_11E.txt, test_12E.txt, test_15E.txt, test_16E.txt, test_19E.txt, test_20E.txt, test_23E.txt, test_24E.txt, test_27E.txt, test_28E.txt, test_31E.txt, test_32E.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_45E.txt, test_47E.txt |
All | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, 00_sample_04.txt, test_01.txt, test_02.txt, test_03E.txt, test_04E.txt, test_05.txt, test_06.txt, test_07E.txt, test_08E.txt, test_09.txt, test_10.txt, test_11E.txt, test_12E.txt, test_13.txt, test_14.txt, test_15E.txt, test_16E.txt, test_17.txt, test_18.txt, test_19E.txt, test_20E.txt, test_21.txt, test_22.txt, test_23E.txt, test_24E.txt, test_25.txt, test_26.txt, test_27E.txt, test_28E.txt, test_29.txt, test_30.txt, test_31E.txt, test_32E.txt, test_33.txt, test_34.txt, test_35.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45E.txt, test_46.txt, test_47E.txt, test_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01E.txt | AC | 507 ms | 37732 KB |
00_sample_02E.txt | AC | 477 ms | 37596 KB |
00_sample_03E.txt | AC | 525 ms | 38220 KB |
00_sample_04.txt | AC | 548 ms | 38088 KB |
test_01.txt | AC | 488 ms | 37860 KB |
test_02.txt | AC | 463 ms | 37728 KB |
test_03E.txt | AC | 473 ms | 37608 KB |
test_04E.txt | AC | 542 ms | 38204 KB |
test_05.txt | AC | 467 ms | 37600 KB |
test_06.txt | AC | 527 ms | 38120 KB |
test_07E.txt | AC | 496 ms | 38096 KB |
test_08E.txt | AC | 509 ms | 38216 KB |
test_09.txt | AC | 503 ms | 37852 KB |
test_10.txt | AC | 515 ms | 37996 KB |
test_11E.txt | AC | 510 ms | 38212 KB |
test_12E.txt | AC | 533 ms | 38092 KB |
test_13.txt | AC | 482 ms | 37608 KB |
test_14.txt | AC | 747 ms | 38072 KB |
test_15E.txt | AC | 559 ms | 37864 KB |
test_16E.txt | AC | 750 ms | 37992 KB |
test_17.txt | AC | 468 ms | 37568 KB |
test_18.txt | AC | 495 ms | 37988 KB |
test_19E.txt | AC | 487 ms | 37572 KB |
test_20E.txt | AC | 501 ms | 38068 KB |
test_21.txt | AC | 504 ms | 37988 KB |
test_22.txt | AC | 534 ms | 38092 KB |
test_23E.txt | AC | 463 ms | 37720 KB |
test_24E.txt | AC | 630 ms | 38208 KB |
test_25.txt | AC | 504 ms | 37980 KB |
test_26.txt | AC | 488 ms | 37724 KB |
test_27E.txt | AC | 545 ms | 38204 KB |
test_28E.txt | AC | 600 ms | 38220 KB |
test_29.txt | AC | 548 ms | 38100 KB |
test_30.txt | AC | 584 ms | 38220 KB |
test_31E.txt | AC | 508 ms | 38216 KB |
test_32E.txt | AC | 764 ms | 37992 KB |
test_33.txt | AC | 471 ms | 37608 KB |
test_34.txt | AC | 493 ms | 37984 KB |
test_35.txt | AC | 466 ms | 37728 KB |
test_36E.txt | AC | 467 ms | 37612 KB |
test_37E.txt | AC | 466 ms | 37740 KB |
test_38E.txt | AC | 467 ms | 37680 KB |
test_39E.txt | AC | 510 ms | 37608 KB |
test_40.txt | AC | 495 ms | 38104 KB |
test_41.txt | AC | 471 ms | 37712 KB |
test_42.txt | AC | 514 ms | 38256 KB |
test_43.txt | AC | 471 ms | 37728 KB |
test_44.txt | AC | 490 ms | 38132 KB |
test_45E.txt | AC | 465 ms | 37612 KB |
test_46.txt | AC | 471 ms | 37604 KB |
test_47E.txt | AC | 464 ms | 37600 KB |
test_48.txt | AC | 472 ms | 37724 KB |