Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
关于最短代码的一些猜想最开始尝试的时候,去掉头文件,不要空格,不要任何勉强能编译不需要的东西。 main(int a,int b){scanf("%d%d",&a,&b);printf("%d",a+b); 这个代码是一百多B 接着见到了另一个看不懂的代码 main(a){read(0,&a,3);a+=(a>>16)-48;write(1,&a,1);} read和write我不知道是什么,没有用过,但是给了我启发。这个代码得到的是10以内 的数,10以上的就是符号了,现在用这个代码会WA。 受到启发,才注意到题目给了数据范围,10以内,其实试了一下,目前的数据应该不 是<=10,依然是<10,于是写下了50B的代码 main(){char a[4];gets(a);printf("%d",*a+a[2]-96);} 这个代码对结果在10以上也能兼容了,目前是可以AC的。 而排行榜上那个大神25B,肿么回事呢?好奇的要命啊,百度不到就google,查到他bo'ke去了,反正是这个名字,不知道是不是这个人,日文一大堆看不大懂,但是字里行 间给了我两个启发。 1、main(){printf("1");}如果是单文件数据的话,换不同的数交20次,18B的代码就AC了。看样 子应该不是这样的。 2、main(){printf("%d",rand()%21);}这样的话,如果POJ允许rand,在文件不多的情 况下,交二百多次,能AC不?概率问题~~ 这些代码都没有做到25B,所以我也只是猜猜。 纯粹写代码累了来随便侃侃,各位观众轻拍。 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator