Problem 18
17については1000までの文字に置き換えるのも工夫する必要があるんですが….工夫しても書かないといけないし.spell自信ないし.解いたソースも無いのでパスです.
values = [[int(value) for value in line.rstrip().split(' ')]for line in open('tri.txt')] values.reverse() for i in xrange(len(values)-1): for j in range(len(values[i+1])): values[i+1][j] = max([values[i+1][j] + values[i][j], values[i+1][j] + values[i][j+1]]) print values[len(values)-1][0]
例のごとくテキストファイルにコピー.
方法としては,三角形を逆さにして,上の二つどっち足したら下の大きくなる?その時の値で更新しちゃえ!作戦.最後のてっぺんのところに最大値が残るよ!テヘ!