結果
| 問題 | 
                            No.2783 4-33 Easy
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ゼット
                         | 
                    
| 提出日時 | 2024-06-14 21:41:07 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 911 bytes | 
| コンパイル時間 | 396 ms | 
| コンパイル使用メモリ | 82,532 KB | 
| 実行使用メモリ | 77,384 KB | 
| 最終ジャッジ日時 | 2024-06-14 21:41:12 | 
| 合計ジャッジ時間 | 4,617 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 3 WA * 23 | 
ソースコード
N=int(input())
A=list(map(str,input().split()))
B=list(map(str,input().split()))
dp=[[[0]*34 for i in range(5)] for j in range(10)]
L1=[]
L2=[]
for i in range(N):
  x=B[i]
  if x[-1]=='X':
    if len(x)>1:
      L2.append((int(A[i]),int(B[i][:-1])))
    else:
      L2.append((int(A[i]),0))
  else:
    L1.append((int(A[i]),int(x)))
mod=998244353
dp[0][0][0]=1
for _ in range(len(L1)):
  x,y=L1[_][:]
  for i in range(8,-1,-1):
    for j in range(5):
      for k in range(34):
        if i==8 and j<k:
          continue
        if j+x<=4 and k+y<=33:
          dp[i+1][j+x][k+y]+=dp[i][j][k]
          dp[i+1][j+x][k+y]%=mod
result=dp[9][4][33]
for _ in range(len(L2)):
  x,y=L2[_][:]
  for j in range(5):
    for k in range(34):
      if y>0 and j<k:
        continue
      if j+x<=4 and k+y<=33:
        dp[9][j+x][k+y]+=dp[8][j][k]
        dp[9][j+x][k+y]%=mod
result+=dp[9][4][33]
result%=mod
print(result)
            
            
            
        
            
ゼット