Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

关于最短代码的一些猜想

Posted by CSGrandeur at 2011-08-27 19:09:05 on Problem 1000 and last updated at 2011-08-27 19:11:56
最开始尝试的时候,去掉头文件,不要空格,不要任何勉强能编译不需要的东西。

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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator