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

本题除了暴力破解的方法之外,我本想用排列组合的方法去提高一下效率,
比如将输入的整数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

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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