第一题补充一个递归 #include<iostream> (720)#include<vector> #include<algorithm> (831)#include<map> using namespace std; int min_cost(int n, int m, int a, int b, map<pair<int, int>, int> &mp){ if(m % n == 0) return 0; pair<int, int> curr = make_pair(n, m); if(mp.find(curr) != mp.end()) return mp[curr]; int cost = min(a + min_cost(n - 1, m, a, b, mp), b + min_cost(n, m + 1, a, b, mp)); mp[make_pair(n, m)] = cost; return cost; } int main(){ int n, m, a, b; while(cin >> n >> m >> a >> b){ map<pair<int, int>, int> mp; cout << min_cost(n, m, a, b, mp) << endl; } return 0; }

相关推荐

2025-11-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务