居然有场中国下午场次的CF,猴开心啊,于是就报名了...

结果被虐傻了...果然不能太激动啊...

A题题目翻译挂了,少了一个无解的情况,导致机房前20Min没有一个人能过A题...直到后面有高人相助才过,好惨

C题前面都开了long long,只有输出没开I64d,结果就丢了1206分...这什么鬼啊...

D题敲了20min的程序结果挂了,于是删掉重打,打到要结束了才发现题目两个东西弄反了,然后仓促改了一改...呼,然后少改一个地方,然后一堆细节的东西也有问题...表示无奈

 

A题:两个电池,每秒钟充电的话电量+1,不充电-2,一个<=0,就结束。问最多撑多久?

  感觉贪心就好,就是每次给电量小的+1,结果WA了!好吧,我觉得是我贪心可能有问题,于是我就打了一个大暴力,f[i][j]表示两个电池的状态,WA了!然后我放弃了,我吃饭去了...回来就有人说还有一句话你没看见。

  如果一个电池的电量=1,你必须给它充电。结果1 1输出是0...好坑啊...

O(100^3)大暴力:

#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;

int f[210][110][110];

int main(){
#ifndef ONLINE_JUDGE
    freopen("A.in","r",stdin);
#endif

    int a1,a2,t=0;

    scanf("%d%d",&a1,&a2);
    if(a1==1 && a2==1){ printf("0");return 0; }
    f[0][a1][a2]=1;
    f[0][a2][a1]=1;

    for(int i=0;i<=200;i++)
        for(int j=1;j<=102;j++)
            for(int k=1;k<=102;k++)
                if(f[i][j][k]){
                    if(j>2)
                        f[i+1][j-2][k+1]=1;
                    if(k>2)
                        f[i+1][j+1][k-2]=1;
                }
    for(int i=200;i>=0;i--){
        for(int j=1;j<=100;j++)
            for(int k=1;k<=100;k++)
                if(f[i][j][k]){
                    printf("%d",i+1);return 0;
                }
    }

    return 0;
}
View Code

相关文章:

  • 2021-07-13
  • 2021-12-05
  • 2021-08-10
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2021-09-23
  • 2021-10-28
  • 2022-03-07
相关资源
相似解决方案