結果

問題 No.1417 100の倍数かつ正整数(2)
ユーザー ansain
提出日時 2021-03-30 20:21:29
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 3,036 bytes
コンパイル時間 741 ms
コンパイル使用メモリ 82,020 KB
実行使用メモリ 77,404 KB
最終ジャッジ日時 2024-11-30 20:29:38
合計ジャッジ時間 4,336 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 11 WA * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import sys
def input(): return sys.stdin.readline().rstrip()
def main():
# mod
mod = 10**9+7
mod2 = 998244353
# N
n = list(map(int, list(input())))
#
# dp[i][j]=2i,5j(2)
# n(71~6)
dp = [[0]*3 for i in range(3)]
for i in range(1, n[0]):
dp[int(n[0] % 2 == 0)+int(n[0] % 4 == 0)][i % 5 == 0] += 1
# n_info=2,50
# n
n_info = [int(n[0] % 2 == 0)+int(n[0] % 4 == 0), int(n[0] % 5 == 0), True]
# n2
for nn in n[1:]:
"""
37
dp136
n_info37
nn=6
newdp1375
"""
# newdp
newdp = [[0]*3 for i in range(3)]
# 13610369
for i in range(1, 10):
for n2 in range(3):
for n5 in range(3):
nn2 = min(n2+int(i%2 == 0)+int(i%4 == 0), 2)
nn5 = min(n5+int(i % 5 == 0), 2)
newdp[nn2][nn5] += dp[n2][n5]
newdp[nn2][nn5] %= mod
# 370375n_info
n2, n5, n0 = n_info
if n0:
for i in range(1, nn):
nn2 = min(n2+int(i%2 == 0)+int(i%4 == 0),2)
nn5 = min(n5+int(i%5 == 0),2)
newdp[nn2][nn5] += 1
# 19
for i in range(1, 10):
newdp[int(i%2 == 0)+int(i%4 == 0)][i%5 == 0] += 1
# dpnewdp
dp = newdp[:][:]
# n_info376
n_info[0] += int(nn%2 == 0)+int(nn%4 == 0)
n_info[1] += nn%5 == 0
if nn == 0:
n_info[2] = False
# nnn_infon
n2, n5,n0 = n_info
if n0:
nn2 = min(n2, 2)
nn5 = min(n5, 2)
dp[nn2][nn5] += 1
# 0
#
print(dp[2][2] % mod)
if __name__ == '__main__':
main()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0