結果
| 問題 |
No.2136 Dice Calendar?
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-03-26 15:59:16 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,349 bytes |
| コンパイル時間 | 228 ms |
| コンパイル使用メモリ | 82,376 KB |
| 実行使用メモリ | 431,492 KB |
| 最終ジャッジ日時 | 2025-03-26 16:00:22 |
| 合計ジャッジ時間 | 23,543 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 15 TLE * 1 -- * 8 |
ソースコード
MOD = 998244353
def main():
import sys
input = sys.stdin.read
data = input().split()
idx = 0
N = int(data[idx])
idx += 1
dice = []
for _ in range(N):
faces = list(map(int, data[idx:idx+6]))
idx +=6
unique = list(set(faces))
dice.append(unique)
current_set = set()
for i in range(N):
die = dice[i]
if i ==0:
new_set = set()
for d in die:
counts = [0]*9
counts[d-1] =1
new_set.add(tuple(counts))
current_set = new_set
else:
new_set = set()
for counts in current_set:
for d in die:
new_counts = list(counts)
new_counts[d-1] +=1
new_tuple = tuple(new_counts)
new_set.add(new_tuple)
current_set = new_set
max_n = N
fact = [1]*(max_n+1)
for i in range(1, max_n+1):
fact[i] = fact[i-1] *i % MOD
ans =0
for counts in current_set:
product = 1
for c in counts:
product = product * fact[c] % MOD
inv_product = pow(product, MOD-2, MOD)
res = fact[N] * inv_product % MOD
ans = (ans + res) % MOD
print(ans % MOD)
if __name__ == '__main__':
main()
lam6er