• hdu5246 超级赛亚ACMer (百度之星初赛)(模拟)


    题意:一个初始战斗力上限为m的选手,和战斗力相同的人战斗后,该选手最多可提升k点战斗力,每提升一次k值减一;和战斗力低于他的人战斗,战斗力不变;

             n名挑战者,给出每名挑战者的战斗力,问他是否能将挑战者全部打败;

    思路:先sort,然后找到和他初始战斗力上限最接近的且比他弱的战斗力,然后根据下一个比他强的人提升战斗力,看是否能打败最后一个;

            比赛的时候思路完全正确,然后TLE了。补题是终于发现是for里面漏了一个条件,考虑的不仔细。弱!!!

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    #define INF 0x3f3f3f3f
    __int64 a[50010],m,k;
    __int64 temp,shu;
    int main()
    {
        int t,i,j,n,cas,point,cc,c1,flag,pos;
        scanf("%d",&t);
        for(cas=1;cas<=t;cas++)
        {
            scanf("%d%I64d%I64d",&n,&m,&k);
            memset(a,0,sizeof(a));
            temp=k*(k+1)/2;
            for(i=0;i<n;i++)
            {
                scanf("%I64d",&a[i]);
            }
            sort(a,a+n);
            a[n]=INF;
            printf("Case #%d:
    ",cas);
            if(a[0]>m)
            {
                printf("madan!
    ");
                continue;
            }
            if(a[n-1]<=m)
            {
                printf("why am I so diao?
    ");
                continue;
            }
            for(i=0;i<n;i++)
            {
                if(a[i]>m)
                {
                    pos=i;shu=a[pos-1];
                    break;
                }
            }
            pos--;
            flag=1;
            while(pos!=(n-1))
            {
                if(k==0||(shu+k)<a[pos+1]&&(pos+1)<n)
                {
                    flag=0;
                    break;
                }
                 for(i=pos+1;a[i]<=(shu+k)&&i!=n;i++)//因为i!=n没加,a[n]=INF似乎没起到作用,纠结,没能够AC
                 {
    
                 }
                 pos=i-1;
                 shu=a[pos];
                 if(k>0) k--;
            }
            if(flag)
            {
                printf("why am I so diao?
    ");
            }
            else printf("madan!
    ");
        }
    }
  • 相关阅读:
    tty 与 多任务的解释备忘
    Oracle 安装时候的fs.filemax参数
    100多个Web2.0在线生成器
    精心整理的微软原版光盘
    WEB3.0开启商务魔法时代
    VBO与Displaylists的进一步讨论 (转)
    基于UML和ASP.NET实现三层B/S结构系统开发(转)
    BYTE* To Float*
    COM高手总结的八个经验和教训(转)
    OpenGL: 3D坐标到屏幕坐标的转换逻辑(gluProject的实现)(转)
  • 原文地址:https://www.cnblogs.com/dashuzhilin/p/4541197.html
Copyright © 2020-2023  润新知