本文主要是介绍Coins 思维题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:
https://acm.bnu.edu.cn/v3/statments/52297.pdf
题意:
分别有a1,a2,a3个一元,两元,3元的硬币。问可以组成多少不同的钱数?
分析:
分类讨论即可,不过要用手推很长时间。
我们没用long long,很早就写出来了 ,WA了n次。。。。
AC代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;int main()
{long long a1,a2,a3,ans;while(scanf("%lld%lld%lld",&a1,&a2,&a3)!=EOF){if(a1 && a2 && a3)ans = a1+2*a2+3*a3;else if(a1 && a2){ans = 2*a2+a1;}else if(a2 && a3){if(a2==1) ans = 2*a2 + 3*a3-1-a3;else ans = ans = 2*a2 + 3*a3 -2;}else if(a1 && a3){if(a1==1) ans = 2*a3+1;else ans = 3*a3+a1;}else ans = a1+a2+a3;printf("%lld\n",ans);}return 0;
}
这篇关于Coins 思维题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!