結果
| 問題 | No.1085 桁和の桁和 | 
| コンテスト | |
| ユーザー |  tyawanmusi | 
| 提出日時 | 2020-01-03 19:05:32 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 289 ms / 2,000 ms | 
| コード長 | 623 bytes | 
| コンパイル時間 | 329 ms | 
| コンパイル使用メモリ | 81,920 KB | 
| 実行使用メモリ | 91,648 KB | 
| 最終ジャッジ日時 | 2024-11-06 17:30:52 | 
| 合計ジャッジ時間 | 6,498 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 35 | 
ソースコード
s=input()
d=int(input())
mod=10**9+7
digit_sum=0
blind_count=0
for i in range(len(s)):
  if s[i]=="?":
    blind_count+=1
  else:
    digit_sum+=int(s[i])
    while digit_sum>9:
      digit_sum-=9
dp=[10*[0]for _ in range(blind_count+1)]
dp[0][0]=1
for i in range(1,blind_count+1):
  for j in range(10):
    for k in range(10):
      jk=j+k
      if jk>9:
        jk-=9
      dp[i][jk]+=dp[i-1][j]
      dp[i][jk]%=mod
if d==0:
    if digit_sum==0:
        print(1)
    else:
        print(0)
    exit()
if digit_sum<d:
    n=d-digit_sum
else:
    n=d-digit_sum+9
ans=dp[blind_count][n]
if digit_sum==d:ans+=1
print(ans)
            
            
            
        