zoukankan      html  css  js  c++  java
  • UVALive 7503 Change(乱搞)题解

    题意:你现在有面额为A的纸币,现在需要面额为B的钱(可以是一张也可以是好多张拼成一张),有一台自动售货机,里面有任意价格的商品,售货机兑换出的零钱是随机的(比如找你0.03可能给你0.01+0.01+0.01也可能是0.01+0.02),那么问至少要花多少钱你肯定能兑换到所需要的面额。A, B ∈ {0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100} and A > B

    思路:题意读错了...这里的意思不是你只能买一个东西,而是你买了之后可以用找零的钱继续买,那么如果0.01可以解决那么就是0.01,其他的只要用零钱继续0.01就可以了。

    代码:

    #include<set>
    #include<map>
    #include<cmath>
    #include<queue>
    #include<string>
    #include<cstdio>
    #include<cstring>
    #include<sstream>
    #include<algorithm>
    typedef long long ll;
    using namespace std;
    const int maxn = 1000 + 10;
    const int MOD = 1e9 + 7;
    const int INF = 0x3f3f3f3f;
    int main(){
        int t, ca = 1;
        scanf("%d", &t);
        while(t--){
            double a, b;
            scanf("%lf%lf", &a, &b);
            printf("Case #%d: ", ca++);
            if(b == 0.01){  //0.03
                if(a == 0.02){
                    printf("0.01
    ");
                }
                else if(a == 0.05){
                    printf("0.02
    ");
                }
                else{
                    printf("0.02
    ");
                }
            }
            else if(b == 0.02){ //0.04 0.09
                if(a == 0.05){
                    printf("0.01
    ");
                }
                else{
                    printf("0.01
    ");
                }
            }
            else if(b == 0.05){ //0.09
                printf("0.01
    ");
            }
            else if(b == 0.1){  //0.39
                if(a == 0.2) printf("0.01
    ");
                else if(a == 0.5) printf("0.02
    ");
                else printf("0.02
    ");
            }
            else if(b == 0.2){  //0.49 0.99
                if(a == 0.5) printf("0.01
    ");
                else printf("0.01
    ");
            }
            else if(b == 0.5){  //0.99
                printf("0.01
    ");
            }
            else if(b == 1){    //3.99
                if(a == 2) printf("0.01
    ");
                else if(a == 5) printf("0.02
    ");
                else printf("0.02
    ");
            }
            else if(b == 2){    //4.99 9.99
                if(a == 5) printf("0.01
    ");
                else printf("0.01
    ");
            }
            else if(b == 5){    //9.99
                printf("0.01
    ");
            }
            else if(b == 10){   //39.99
                if(a == 20) printf("0.01
    ");
                else printf("0.02
    ");
            }
            else if(b == 20){   //49.99 99.99
                if(a == 50) printf("0.01
    ");
                else printf("0.01
    ");
            }
            else{   //99.99
                printf("0.01
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    MySQL 50条必练查询语句
    Spring MVC
    macaron 根目录默认为templates文件夹,所以如果启动目录同目录下有templates目录,要给它指定另一个文件夹
    table 表格配色
    应用连接数瓶颈解决方案
    idea修改文件的打开方式
    golang template使用
    childnode的after()方法失效问题
    vue双循环或者多循环作用于同一元素时,在外套template标签
    vue遇到组件数据变更了,但是不渲染的问题
  • 原文地址:https://www.cnblogs.com/KirinSB/p/10328002.html
Copyright © 2011-2022 走看看