結果
問題 | No.2983 Christmas Color Grid (Advent Calender ver.) |
ユーザー | 👑 rin204 |
提出日時 | 2024-12-08 00:57:15 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,202 ms / 3,340 ms |
コード長 | 1,311 bytes |
コンパイル時間 | 360 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 82,576 KB |
最終ジャッジ日時 | 2024-12-08 07:26:18 |
合計ジャッジ時間 | 16,752 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 39 ms
51,968 KB |
testcase_01 | AC | 39 ms
52,224 KB |
testcase_02 | AC | 2,153 ms
82,528 KB |
testcase_03 | AC | 53 ms
65,280 KB |
testcase_04 | AC | 48 ms
62,464 KB |
testcase_05 | AC | 54 ms
65,024 KB |
testcase_06 | AC | 1,027 ms
79,616 KB |
testcase_07 | AC | 38 ms
51,968 KB |
testcase_08 | AC | 47 ms
61,312 KB |
testcase_09 | AC | 790 ms
78,592 KB |
testcase_10 | AC | 127 ms
76,288 KB |
testcase_11 | AC | 59 ms
68,864 KB |
testcase_12 | AC | 56 ms
62,848 KB |
testcase_13 | AC | 63 ms
67,200 KB |
testcase_14 | AC | 61 ms
68,864 KB |
testcase_15 | AC | 60 ms
68,608 KB |
testcase_16 | AC | 62 ms
70,528 KB |
testcase_17 | AC | 63 ms
70,016 KB |
testcase_18 | AC | 65 ms
72,064 KB |
testcase_19 | AC | 129 ms
76,412 KB |
testcase_20 | AC | 169 ms
76,928 KB |
testcase_21 | AC | 239 ms
77,072 KB |
testcase_22 | AC | 256 ms
77,668 KB |
testcase_23 | AC | 776 ms
78,976 KB |
testcase_24 | AC | 232 ms
76,928 KB |
testcase_25 | AC | 1,056 ms
79,924 KB |
testcase_26 | AC | 235 ms
77,056 KB |
testcase_27 | AC | 2,202 ms
82,576 KB |
testcase_28 | AC | 1,170 ms
79,872 KB |
testcase_29 | AC | 256 ms
76,928 KB |
testcase_30 | AC | 782 ms
78,464 KB |
testcase_31 | AC | 142 ms
76,672 KB |
testcase_32 | AC | 181 ms
76,672 KB |
testcase_33 | AC | 261 ms
77,244 KB |
testcase_34 | AC | 51 ms
64,768 KB |
testcase_35 | AC | 52 ms
65,280 KB |
testcase_36 | AC | 55 ms
66,688 KB |
testcase_37 | AC | 58 ms
68,736 KB |
testcase_38 | AC | 59 ms
69,504 KB |
testcase_39 | AC | 61 ms
70,400 KB |
testcase_40 | AC | 37 ms
52,352 KB |
testcase_41 | AC | 44 ms
52,224 KB |
testcase_42 | AC | 38 ms
51,968 KB |
testcase_43 | AC | 38 ms
51,840 KB |
testcase_44 | AC | 37 ms
52,480 KB |
testcase_45 | AC | 37 ms
52,608 KB |
testcase_46 | AC | 37 ms
52,352 KB |
testcase_47 | AC | 40 ms
57,600 KB |
testcase_48 | AC | 43 ms
59,264 KB |
testcase_49 | AC | 45 ms
60,928 KB |
testcase_50 | AC | 39 ms
51,968 KB |
testcase_51 | AC | 37 ms
51,840 KB |
testcase_52 | AC | 38 ms
52,096 KB |
testcase_53 | AC | 44 ms
60,160 KB |
testcase_54 | AC | 52 ms
65,792 KB |
testcase_55 | AC | 36 ms
51,840 KB |
testcase_56 | AC | 36 ms
52,096 KB |
testcase_57 | AC | 48 ms
60,800 KB |
testcase_58 | AC | 38 ms
51,840 KB |
testcase_59 | AC | 45 ms
59,648 KB |
testcase_60 | AC | 37 ms
52,224 KB |
testcase_61 | AC | 55 ms
64,256 KB |
testcase_62 | AC | 37 ms
52,352 KB |
testcase_63 | AC | 39 ms
52,864 KB |
testcase_64 | AC | 38 ms
52,224 KB |
testcase_65 | AC | 40 ms
58,240 KB |
testcase_66 | AC | 41 ms
58,368 KB |
ソースコード
h, w, K, MOD = map(int, input().split()) hw = h * w powK = [pow(i, K, MOD) for i in range(hw + 1)] pow2 = [1] * (hw + 1) for i in range(1, hw + 1): pow2[i] = pow2[i - 1] * 2 % MOD A = [[-1] * w for _ in range(h)] didj = [(0, 1), (1, 0), (0, -1), (-1, 0)] ans = 0 def sol(c1, c2, si, sj): ii = -1 jj = -1 for i in range(h): for j in range(w): if A[i][j] != -1: continue for di, dj in didj: ni = i + di nj = j + dj if ni < 0 or ni >= h or nj < 0 or nj >= w: continue if A[ni][nj] == 1: ii = i jj = j break if ii != -1: break if ii == -1: global ans ans += powK[c1] * pow2[h * w - c2] % MOD else: if si * w + sj < ii * w + jj: A[ii][jj] = 1 sol(c1 + 1, c2 + 1, si, sj) A[ii][jj] = 0 sol(c1, c2 + 1, si, sj) A[ii][jj] = -1 for si in range(h): for sj in range(w): A[si][sj] = 1 sol(1, 1, si, sj) A[si][sj] = -1 ans %= MOD ans *= pow(pow2[h * w], MOD - 2, MOD) ans %= MOD inv = 0 for i in range(1, h * w + 1): inv += pow(i, MOD - 2, MOD) ans *= inv print(ans % MOD)