結果
| 問題 |
No.2783 4-33 Easy
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-06-14 23:00:26 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,531 bytes |
| コンパイル時間 | 316 ms |
| コンパイル使用メモリ | 82,228 KB |
| 実行使用メモリ | 155,504 KB |
| 最終ジャッジ日時 | 2024-06-14 23:00:38 |
| 合計ジャッジ時間 | 11,263 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 WA * 9 |
ソースコード
n = int(input())
A = list(map(int,input().split()))
B = list(input().split())
dp = [[[[0]*5 for _ in range(34)] for __ in range(10)] for ___ in range(n+1)]
dp[0][0][0][0] = 1
m = 998244353
arr = []
for i in range(n):
arr.append((B[i],A[i]))
arr.sort()
for i in range(n):
a = arr[i][1]
b = arr[i][0]
b1 = b
b2 = ''
if b[-1]=='X':
if b == 'X':
b1 = 0
b2 = 'X'
else:
b1 = int(b[:-1])
b2 = 'X'
b1 = int(b1)
for j in range(10):
for k in range(34):
for l in range(5):
if dp[i][j][k][l] == 0:
continue
dp[i+1][j][k][l] += dp[i][j][k][l] % m
if j == 9:
continue
if l + a >= 5:
continue
if k + b1 >= 34:
continue
if j == 8:
if k + b1 != 33:
continue
if l + a != 4:
continue
if l+a < k:
if b2 == 'X' and b1 == 0:
dp[i+1][j+1][k][l+a] += dp[i][j][k][l] % m
else:
if b2 == 'X':
dp[i+1][j+1][k+b1][l+a] += dp[i][j][k][l] % m
else:
if b2 == 'X':
continue
dp[i+1][j+1][k+b1][l+a] += dp[i][j][k][l] % m
ans = dp[n][9][33][4] % m
print(ans)