• hdu 4525 我要吐槽版


    已记不清wa了多少次之后猛然ac了。ctrl+z返回到之前,ctrl+shift+z在退回来。我只想说尼玛,我还是不知道。

    接下来我要把我的神奇经历记录一下。

    View Code
    #include <algorithm>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    #include <cstdio>
    
    using namespace std;
    
    double n,k1,k2,k;
    
    int main()
    {
        int t;
        scanf("%d",&t);
        for(int tt=1;tt<=t;tt++)
        {
            scanf("%lf %lf %lf %lf",&n,&k1,&k2,&k);
            double ans=0;
            for(int i=1;i<=n;i++)
            {
                double tmp=0;
                scanf("%lf",&tmp);
                ans+=tmp;
            }
            if(ans>k)
                printf("Case #%d: %d\n",tt,0);
            else if((k1+k2<=0&&k1+k2>=-1)||(n==1&&k1>=-1&&k1<=0))
                printf("Case #%d: %s\n",tt,"inf");
            else
            {
                double cnt=0;
                while(ans<=k)
                {
                    ans=(k1+k2)*ans;
                    cnt++;
                }
                printf("Case #%d: %.0lf\n",tt,cnt);
            }
        }
        return 0;
    }

    上述代码中以前的ll全部换成了double,容我慢慢道来。

    if(ans>k)
        printf("Case #%d: %d\n",tt,0);
    else if((k1+k2<=0&&k1+k2>=-1)||(n==1&&k1>=-1&&k1<=0))
        printf("Case #%d: %s\n",tt,"inf")

    如果我没记错的话,昨晚管理员是说不会有0这项输出的吧。可是我把ac过的代码拿回来注释掉那行重新提交竟然wa了,尼玛,到底有没有,你个傻×。再者,就算有0这项输出,如果我把下面的那个else if里面的内容换一下,换成下面这样:

    else if((k1+k2<=1&&k1+k2>=-1)||(n==1&&k1>=-1&&k1<=1))
        printf("Case #%d: %s\n",tt,"inf");

    当然,你猜对了,还是wa。难道换成这样有错么?系数和是大于0小于1的小数,乘以一个数不是越乘越小么,我智商有限,抑或我脑袋短路。因为上面的那个if已经把初始值考虑了呀有木有。。如果初始值最大的时候都不大于k,那还指望他以后出现大于k的情况,你以为是一千零一夜啊,尼玛。还有,如果我没有记错的话,昨晚管理员说里面的数据都是整数,别的数我不管,我来说说k1,k2。如果我把else if换成下面这样,会怎样。。

    else if((k1+k2==0||k1+k2==-1||k1+k2==1)||(n==1&&(k1==-1||k1==0||k1==1)))
        printf("Case #%d: %s\n",tt,"inf");

    好坏啦,银家不玩啦,又让您猜对了。结果还是wa呀有木有。。

    所以我便开始神经质的把ll换成了double。

    有时候真的觉得,wa是必然,ac是奇迹。上面各种都是我今天一一尝试过的,如若不是,欢迎诸位板砖相迎。

  • 相关阅读:
    CVPR2020:三维实例分割与目标检测
    CVPR2020:视觉导航的神经拓扑SLAM
    使用现代C++如何避免bugs(下)
    使用现代C++如何避免bugs(上)
    蓝牙mesh网络技术的亮点
    电路功能和优点
    ARM的突破:超级计算机和Mac
    所有处理都走向AI
    Wide-Bandgap宽禁带(WBG)器件(如GaN和SiC)市场将何去何从?
    功率半导体碳化硅(SiC)技术
  • 原文地址:https://www.cnblogs.com/RainingDays/p/2982158.html
Copyright © 2020-2023  润新知