結果

問題 No.265 数学のテスト
ユーザー tjake
提出日時 2015-12-22 21:07:04
言語 Python2
(2.7.18)
結果
RE  
実行時間 -
コード長 928 bytes
コンパイル時間 181 ms
コンパイル使用メモリ 6,944 KB
実行使用メモリ 7,424 KB
最終ジャッジ日時 2024-09-18 18:44:21
合計ジャッジ時間 4,606 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 30 RE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

n = input()
d = input()
s = raw_input()+"$"

def parseS(cur):
    ret = [0]*(d+1)
    while 1:
        cur, res = parseE(cur)
        for i in xrange(d+1):
            ret[i] += res[i]
        if s[cur]!="+":
            break
        cur += 1
    return cur, ret
def parseE(cur):
    ret = [0]*(d+1)
    ret[0] = 1
    while 1:
        cur, res = parseP(cur)
        ret = [sum(ret[j]*res[i-j] for j in xrange(i+1)) for i in xrange(d+1)]
        if s[cur]!="*":
            break
        cur += 1
    return cur, ret
def parseP(cur):
    if s[cur]=="x":
        # x
        ret = [0]*(d+1); ret[1] = 1
        return cur+1, ret
    elif s[cur]=="d":
        # d{T}
        cur, res = parseS(cur+2)
        ret = [i*res[i] for i in xrange(1, d+1)] + [0]
        return cur+1, ret
    else:
        # 1~9
        ret = [0]*(d+1); ret[0] = int(s[cur])
        return cur+1, ret

cur, ans = parseS(0)
print " ".join(map(str, ans))
0