結果

問題 No.2867 NOT FOUND 404 Again
ユーザー sasa8uyauya
提出日時 2024-08-31 03:59:18
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 509 ms / 3,000 ms
コード長 787 bytes
コンパイル時間 525 ms
コンパイル使用メモリ 81,968 KB
実行使用メモリ 78,820 KB
最終ジャッジ日時 2024-08-31 03:59:27
合計ジャッジ時間 9,009 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

s=input()
n=len(s)
M=998244353
q=[[0]*3,[0]*3]
c=int(s[0])
q[0][c==4]=1
for d in range(1,c):
  q[1][d==4]+=1
for i in range(1,n):
  c=int(s[i])
  nq=[[0]*3,[0]*3]
  for d in range(1,10):
    nq[1][d==4]+=1
  for d in range(c,c+1):
    nq[0][0]+=q[0][0]*(d!=4)+q[0][1]*(d!=0)*(d!=4)+q[0][2]*(d!=4)
    nq[0][1]+=q[0][0]*(d==4)+q[0][1]*(d==4)
    nq[0][2]+=q[0][1]*(d==0)
  for d in range(c):
    nq[1][0]+=q[0][0]*(d!=4)+q[0][1]*(d!=0)*(d!=4)+q[0][2]*(d!=4)
    nq[1][1]+=q[0][0]*(d==4)+q[0][1]*(d==4)
    nq[1][2]+=q[0][1]*(d==0)
  for d in range(10):
    nq[1][0]+=q[1][0]*(d!=4)+q[1][1]*(d!=0)*(d!=4)+q[1][2]*(d!=4)
    nq[1][1]+=q[1][0]*(d==4)+q[1][1]*(d==4)
    nq[1][2]+=q[1][1]*(d==0)
  for ii in range(2):
    for jj in range(3):
      nq[ii][jj]%=M
  q=nq
print(sum(q[0]+q[1])%M)
0