前提・実現したいこと
ABC099 C問題
配るDPで実装したところWAが出てしまいましたが、どこがダメなのか分かりません。
解説はメモ化再帰で実装しているので原因解明の参考にはなりませんでした。
発生している問題・エラーメッセージ
いくつかのテストケースでWAが出ます
該当のソースコード
C++
1#define _USE_MATH_DEFINES 2#include <bits/stdc++.h> 3using namespace std; 4typedef long long ll; 5 6int main() { 7 ll N; 8 cin >> N; 9 // dp[i]:i円引き出すのに必要な最小の回数 10 vector<ll> dp(N + 1); 11 for (ll i = 1; i < N + 1; i++) { 12 dp[i] = i; 13 } 14 for (ll i = 1; i < N + 1; i++) { 15 for (ll a = 6; i + a < N + 1; a *= 6) { 16 dp[i + a] = min(dp[i + a], dp[i] + 1); 17 } 18 for (ll b = 9; i + b < N + 1; b *= 9) { 19 dp[i + b] = min(dp[i + b], dp[i] + 1); 20 } 21 } 22 cout << dp[N] << endl; 23}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/12 09:46