首页 > 其他 > 详细

[打卡]开始dp

时间:2021-05-18 23:02:37      阅读:28      评论:0      收藏:0      [点我收藏+]

1./*找零钱*/

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int coin[5]={1,2,5,7,10};
 8     int num;
 9     while(cin>>num){
10         vector<int> dp(num+1,-1);
11         dp[0]=0;
12         for(int i=0; i<num; ++i)
13             for(int j=0; j<5; ++j)
14                 if(coin[j]<=i&&dp[i-coin[j]]!=-1)
15                     if(dp[i]==-1 || dp[i]>dp[i-coin[j]]+1)
16                         dp[i]=dp[i-coin[j]]+1;
17         cout << dp[num-1] <<endl;
18     }
19             
20     return 0;
21 }

 

[打卡]开始dp

原文:https://www.cnblogs.com/Knight02/p/14782530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!