下記のatcoder の45c問題ですが、
https://atcoder.jp/contests/abc045/tasks/arc061_a
再帰処理で解く前提で、
プラスの位置により計算結果
を変えたいという問題です。
分岐 return dfs(i + 1, f + s[i + 1]) + dfs(i + 1, f + "+" + s[i + 1])
のところの挙動がどのようになっているか
仕組みを教えて頂きたいです。
ソースコード
def dfs(i, f):
if i == n - 1: return sum(list(map(int, f.split("+"))) 分岐 return dfs(i + 1, f + s[i + 1]) + dfs(i + 1, f + "+" + s[i + 1])
s = input()
n = len(s)
print(dfs(0, s[0]))
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/13 10:59