有没有可能通过暴力破解之外的方法解题?

本题除了暴力破解的方法之外,我本想用排列组合的方法去提高一下效率,
比如将输入的整数n拆分成m个5和剩下的余数;于是5元钱可以用4种方法兑换,余数0,1,2,3,4也有固定的兑换方法次数,
但m个5之间的组合方式我无法求出,于是失败了。
有没有大佬能告诉我这有没有可能求出来?还是有其他不同的方法?
全部评论
用动态规划! int dp(int s){     int dp[3][201];     int money[3]={1,2,5};     for(int i=0;i<=200;i++){         dp[0][i]=1;     }     dp[1][0]=1;     dp[2][0]=1;     for(int i=1;i<3;i++){         for(int s=1;s<=200;s++){             if(s-money[i]<0)dp[i][s]=dp[i-1][s];             else dp[i][s]=dp[i-1][s]+dp[i][s-money[i]];         }     }     return dp[2][s]; } int main(){     int n;     cin>>n;     cout<<dp(n); }
2 回复 分享
发布于 2020-02-03 00:15
算了吧,会超时。
点赞 回复 分享
发布于 2020-01-24 19:58
可以,深搜!
点赞 回复 分享
发布于 2020-01-24 19:52

相关推荐

06-14 19:09
门头沟学院 Java
darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务