結果
| 問題 | No.2772 Appearing Even Times | 
| コンテスト | |
| ユーザー |  timi | 
| 提出日時 | 2024-06-02 23:45:19 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 687 bytes | 
| コンパイル時間 | 240 ms | 
| コンパイル使用メモリ | 82,392 KB | 
| 実行使用メモリ | 77,476 KB | 
| 最終ジャッジ日時 | 2024-12-23 10:28:19 | 
| 合計ジャッジ時間 | 25,258 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 12 WA * 7 | 
ソースコード
S=input()
U=[0 for i in range(1<<10)]
T=[0 for i in range(1<<10)]
C=[0]*10;mod=998244353
for i in range(1,int(S[0])+1):
  if i!=int(S[0]):
    U[1<<i]+=1
  else:
    T[1<<i]+=1
    
for i in range(1,len(S)):
  s=int(S[i]) 
  C[s]+=1
  C[s]%=2
  NU=[0 for _ in range(1<<10)]
  NT=[0 for _ in range(1<<10)]
  for bit in range(1<<10):
    for k in range(10):
      nex=bit^(1<<k)
      NU[nex]+=U[bit]
      NU[nex]%=mod 
      if k==s:
        NT[nex]+=T[bit]
        NT[nex]%=mod
      elif k<s:
        NU[nex]+=T[bit]
        NU[nex]%=mod
  if i!=0:
    for j in range(1,10):
      NU[1<<j]+=1
  U=NU;T=NT
        
ans=U[0]%mod
if sum(C)==0:
  print((ans+1)%mod)
else:
  print(ans)
  
            
            
            
        