Problem p02960 (python)

Fixed submission:
# coding: utf-8
# Your code here!
 
import sys
sys.setrecursionlimit(10**6)
readline = sys.stdin.readline #文字列入力のときは注意
 
s = input()
l = len(s)
MOD = 10**9+7
 
dp = [0]*13
dp[0] = 1
for i in s:
    new = [0]*13
    if i == "?":
        for i in range(10):
            for j in range(13):
                new[(10*j+i)%13] += dp[j]
    else:
        i = int(i)
        for j in range(13):
            new[(i+10*j)%13] += dp[j]
    
    for i in range(13):
        new[i] %= MOD
    dp,new = new,dp
#    print(dp)
 
print(dp[5]%MOD)

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
mulmod=1
t=input()[::-1]
mod=10**9+7
zero=[0]*13
l=len(t)
for n,c in enumerate(t):
    e=zero[:]
    if c=="?":
        for i in range(10):
            for j in range(13):
                k=(i*mulmod+j)%13
                e[k]+=d[j]
                e[k]%=mod
    else:
        for j in range(13):
            k=(i*mulmod+int(c))%13
            e[k]+=d[int(c)]
            e[k]%=mod
    d=e
    mul*=10
    mulmod=mul%13
print(d[5])

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
mulmod=1
t=input()[::-1]
mod=10**9+7
zero=[0]*13
l=len(t)
for n,c in enumerate(t):
    e=zero[:]
    if c=="?":
        for i in range(10):
            for j in range(13):
                k=(i*mulmod+j)%13
                e[k]+=d[j]
                e[k]%=mod
    else:
        for j in range(13):
            k=(i*mulmod+int(c)%13
            e[k]+=d[int(c)]
            e[k]%=mod
    d=e
    mul*=10
    mulmod=mul%13
print(d[5])

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
mulmod=1
t=input()[::-1]
mod=10**9+7
zero=[0]*13
l=len(t)
for n,c in enumerate(t):
    e=zero[:]
    if c=="?":
        for i in range(10):
            for j in range(13):
                k=(i*mulmod+j)%13
                e[k]+=d[j]
                e[k]%=mod
    else:
        for j in range(13):
            k=(i*mulmod+int(c)%13
            e[k]+=d[j]
            e[k]%=mod
    d=e
    mul*=10
    mulmod=mul%13
print(d[5])

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
mulmod=1
t=list(input())
t.reverse()
zero=[0]*13
for c in t:
    e=zero[:]

    for i in (range(10) if c=="?" else[int(c)]):
        for j in range(13):
            #e[(i*mul+j)%13]+=d[j]
            k=(i*mul+j)%13
            e[k]+=d[j]
            e[k]%=1000000007
    d,e=e.d
    mul*=10
    #mulmod=mul%13
print(d[5])

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
t=reversed(input())
for c in reversed(input()):
    e=[0]*13
    """
    if c=="?":
        for i in range(10):
            for j in range(13):
                e[(i*mul+j)%13]+=d[j]
                e[(i*mul+j)%13]%=(10**9+7)
    else:
        for j in range(13):
            e[(int(c)*mul+j)%13]+=d[j]
            e[(int(c)*mul+j)%13]%=(10**9+7)
    """
    for i in (range(10) if c=="?" else[int(c)]):
        for j in range(13):
            e[(i*mul+j)%13]+=d[j]
            
    d=[e%(10**9+7)for e in e]
    mul*=10
print(d[5])

Buggy submission (verdict: Runtime Error):
d=[0]*13
d[0]=1
mul=1
for c in reversed(input()):
    e=[0]*13
    """
    if c=="?":
        for i in range(10):
            for j in range(13):
                e[(i*mul+j)%13]+=d[j]
                e[(i*mul+j)%13]%=(10**9+7)
    else:
        for j in range(13):
            e[(int(c)*mul+j)%13]+=d[j]
            e[(int(c)*mul+j)%13]%=(10**9+7)
    """
    for j in (range(10) if c=="?" else[int(c)]):
        for i in range(13):
            e[(int(c)*mul+j)%13]+=d[j]
            e[(int(c)*mul+j)%13]%=(10**9+7)    
    d=e[:]
    mul*=10
print(d[5])

Buggy submission (verdict: Runtime Error):

d=[0]*13
d[0]=1
mul=1
for c in reversed(input()):
    e=[0]*13
    if c=="?":
        for i in range(10):
            for j in range(13):
                e[(i*mul+j)%13]+=d[j]
                e[(i*mul+j)%13]%=(10**9+7)
    else:
        for j in range(13):
            e[(i*mul+j)%13]+=d[j]
            e[(i*mul+j)%13]%=(10**9+7)
    d=e
    mul*=10
print(d[5])