BNUOJ 52297 Coins——打表

来源:互联网 发布:一键海淘 知乎 编辑:程序博客网 时间:2024/06/07 12:59

BNUOJ 52297 Coins 2016 ACM-ICPC四川省赛E题
题目链接:https://www.bnuoj.com/v3/problem_show.php?pid=52297
大意:
给你 a 个 1 元硬币,b 个 2 元硬币,c 个 3 元硬币,求可以构成多少个不同的面额。
1000 ms 数据用 LL
打表题 需要找规律..很多种情况
所以也 WA 了很多次。
下次遇到类似题长个心眼

#include <bits/stdc++.h>using namespace std;#define ll long longint main(int argc, const char * argv[]) {    ll a,b,c;    while(cin>>a>>b>>c)    if(a>=2){         cout<<a*1+b*2+c*3<<endl;    }else if(a==1){        if(b>=1)            cout<<a+b*2+c*3<<endl;        else            cout<<2*c+1<<endl;    }else {        if(b>=2){            if(c==0)                cout<<b<<endl;            else                cout<<b*2+3*c-2<<endl;        }else if(b==1){            cout<<2*c+b<<endl;        }else cout<<c<<endl;    }    return 0;}
0 0