Pythonでatcoderの問題を解いていて、動的計画法を使ったのですが、最初の方はACなのですが最後の方がWAになってしまいます。
以下、僕の書いたソースコードです。
Python
1 2n=int(input()) 3dp=[float("inf")]*n 4dp[0]=1 5for i in range(n-1): 6 for j in range(1,7): 7 j=6**j 8 if i+j<n: 9 dp[i+j]=min(dp[i+j],dp[i]+1) 10 for j in range(1,6): 11 j=9**j 12 if i+j<n: 13 dp[i+j]=min(dp[i+j],dp[i]+1) 14 dp[i+1]=min(dp[i+1],dp[i]+1) 15 16 17print(dp[-1]) 18
与えられるNが10^5未満なので、6のべき乗は6乗まで、9は5乗までにしてforループを回しました。どこが間違っているのかわかりません...教えて頂きたいです。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/05 14:21