結果
| 問題 |
No.2772 Appearing Even Times
|
| コンテスト | |
| ユーザー |
dp_ijk
|
| 提出日時 | 2024-06-18 12:21:36 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 2,523 ms / 4,000 ms |
| コード長 | 629 bytes |
| コンパイル時間 | 850 ms |
| コンパイル使用メモリ | 82,360 KB |
| 実行使用メモリ | 77,200 KB |
| 最終ジャッジ日時 | 2024-06-18 12:22:04 |
| 合計ジャッジ時間 | 26,811 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
MOD = 998_244_353
N = [int(ch) for ch in input()]
L = [0]*(1<<10)
P = [0]*(1<<10)
for i, x in enumerate(N):
nL = [0]*(1<<10)
nP = [0]*(1<<10)
for S in range(1<<10):
for dg in range(10):
nS = S^(1<<dg)
nL[nS] += L[S]
if dg < x:
nL[nS] += P[S]
elif dg == x:
nP[nS] += P[S]
nP[nS] %= MOD
nL[nS] %= MOD
for dg in range(1, 10):
if i == 0:
if dg < x:
nL[1<<dg] += 1
elif dg == x:
nP[1<<dg] += 1
else:
nL[1<<dg] += 1
L, P = nL, nP
ans = L[0] + P[0]
ans %= MOD
print(ans)
dp_ijk