居然有场中国下午场次的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; }