B - Buy One Carton of Milk
B - Buy One Carton of Milk
https://atcoder.jp/contests/abc331/tasks/abc331_b
思路
dfs递归搜索, 按照依此按照三种策略:
6个一打 - cost S
8个一打 - cost M
12个一打 - cost L
递归到叶子节点终止条件为, 总的cost超过预算N,记录此时花费,更新 mincost
Code
https://atcoder.jp/contests/abc331/submissions/48127455
int N, S, M, L; int mincost = INT_MAX; void dfs(int sum, int cost){ if (sum >= N){ if (cost < mincost){ mincost = cost; } return; } dfs(sum+6, cost+S); dfs(sum+8, cost+M); dfs(sum+12, cost+L); } int main() { cin >> N >> S >> M >> L; dfs(0, 0); cout << mincost << endl; return 0; }
出处:http://www.cnblogs.com/lightsong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。