• 斌神无所不能


    斌神无所不能

    Description

        如果你以为斌神只会ACM?come on,斌神是无所不能的!其实,在2012/11/11这天之后,斌神就已经是亿万富翁了,为什么呢?因为他在天猫上开了个网店大卖了一种商品——2012世界末日诺亚方舟船票!因为诺亚方舟是斌神造的,所以斌神垄断了这种商品。以前一直生意不好,没想到光棍节那天订单络绎不绝,卡爆了天猫。但是,这种情况斌神夜观天象的时候已经预测出了,所以他一边限制一次性购买数量,一边却制定了下面的策略:

    1.如果订单时间为00:00:00 ~ 05:59:59,那么原价卖出

    2.如果订单时间为06:00:00 ~ 17:59:59,那么按原价10倍卖出

    3.如果订单时间为18:00:00 ~ 23:59:59,那么按原价100倍卖出

    斌神作为老板雇佣了你,让你计算总收入。其实斌神完全可以在数秒内口算出来,只是他女朋友叫他回家吃饭。

     

    Input

        输入包含多个样例。对于每个样例,第一行包含两个整数n, p (0<n<=100,000,  100,000<=p<=100,000,000)表示下单人数和船票单价。接下来n行,每行都是这样的形式:

    h:m:s k

    h:m:s”表示h时m分s秒下单,k表示订票数量(0 < k <= 10).

     

    Output

        输出一行,单独一个数表示收入

     

    Sample Input

    3 100000

    0:0:0 1

    6:0:0 1

    18:0:0 1

     

    Sample Output

    11100000

     

                                                                                                                                                        题目来源:中南大学2012年11月新手赛

     

    AC代码

    #include <cstdio>
    int main()
    {
        freopen("data.in","r",stdin);
        freopen("data.out","w",stdout);
        int n,p,h,m,s,k;
        char ch;
        while (scanf("%d%d",&n,&p)!=EOF)
        {
        __int64 sum=0;
        for (int i=1;i<=n;i++)
        {
            scanf("%d%c%d%c%d%d",&h,&ch,&m,&ch,&s,&k);
            int qq=h*10000+m*100+s;
            int rr=0;int tt=0;
            if (qq/60000>0){rr=1;}
            if (qq/180000>0){tt=1;}
            int temp=rr+tt;
            switch(temp)
            {
                case 0:sum=sum+k*p;break;
                case 1:sum=sum+k*p*10;break;
                case 2:sum=sum+k*p*100;break;
            }
        }
        printf("%I64d\n",sum);
        }
        fclose(stdin);
        fclose(stdout);
        return 0;
    }

    这个题目要注意输出的数据会超过10亿位,因此不能再用int类型了,而要用long long或者__int64,再判断过程中,使用switch语句,从而避免大量条件语句的出现。。。读入数据时,由于数据中间用:,所以用一个字符变量去接受,之后就不用管了。。。数据处理方面,将小时*10000,分钟*100,再将三个数据相加与60000和180000(实际上就是6点和18点)相比较。

       

  • 相关阅读:
    服务端配置scan ip
    父表、子表 主外键关系
    Linux下使用NMON监控、分析系统性能
    Spot light工具集
    linux设置中文环境
    【Android Developers Training】 20. 创建一个Fragment
    【Android Developers Training】 19. 序言:通过Fragments构建动态UI
    【Android Developers Training】 18. 重新创建一个Activity
    【Android Developers Training】 17. 停止和重启一个Activity
    【Android Developers Training】 16. 暂停和恢复一个Activity
  • 原文地址:https://www.cnblogs.com/kkrisen/p/2791127.html
Copyright © 2020-2023  润新知