Coins 思维题

来源:互联网 发布:淘宝给卖家发图片 编辑:程序博客网 时间:2024/06/07 09:34

题目链接:
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;}
1 0
原创粉丝点击