第4章:四道题 (第2/2页)
这种简单粗暴的方式印证了他的猜想,颜安果然是在乱写的,因为即便是他来写这道题,也很难将代码量压缩到这种地步。
虽然他还没开始写,但初步预估就得要四十行代码,完全不是颜安这种二十五行代码能解决的题。
如果颜安写的其他题目也是像这样只有二十几行的话,那二十分钟搞定四题完全不成问题。
可这有用吗?代码追求的是短小没错,但还有个最重要最基本的前提是得能运行出结果。
没有结果的代码,还不如穷举法。
如果靠短就能拿分的话,一句“Hello,world”岂不就是全场最高分。
林景默默叹了口气,内心早已麻木。
他还以为学弟是不放弃精神,结果等他振作起来一看,哪里是不放弃,这分明是摆烂加自暴自弃加自欺欺人。
痛苦的揉了揉太阳穴,删了重来吧,连看都不想看直接就选中全部按下了退格键。
正在一边等另一台电脑启动软件的颜安注意到他的动作,“学长你删我代码干嘛?”
这未免也太过分了。
就算是以前他发现了学长的错误也没有这么干过啊,他还好心好意的加上备注指出错误并提出自己的观点,然后发回给学长。
他这么好心,结果换来的却是这样的对待。
一把从学长手中抢过键盘,还好能撤销删除操作,颜安将代码恢复后立即点击运行。
没等多久,控制台上出现了代码的运行结果,“你看,这代码是没问题的,可以运行。”
关注到这边动静的老师也走了过来,低头看了一眼屏幕,满意的点了点头。
“结果确实正确,没想到你这两天技术提升蛮快嘛,是不是掉到哪个悬崖下面捡了武功秘籍啊?说出来让老师也去撞撞大运。”
对于他两天没有参加训练的事,老师已经不计较了,至少这技术水平提升了。
放在两天前,颜安就算能写出这道题来,也很难想到用高位前缀来解题,这得需要颜安对所运用的方法非常熟悉才行。
出乎林景预计的结果让他傻了眼,呆滞的看了一眼老师,又看了一眼颜安,发现自己才是那个无知又摆烂的家伙。
连忙给颜安道歉,好在被发现的及时,不然的话林景都不知道自己该怎么取得颜安的原谅。
在这之后,已经知道倒数第五题被颜安完美解决的他并没有立即开始对下一题动手,而是认认真真的开始阅读起颜安的代码。
毕竟如果让他来写,怎么着也得四十行起步,而且要比颜安的代码更复杂,所以就很好奇颜安用的是什么方法,和他比优点在哪。
这一看,就沉迷进去了。
代码精简其中的思想不容易领会,他想了好一会,才明白这是运用了高位前缀和来解题。
由于正面枚举并不好做,颜安就考虑反面情况即题目中两人会的领域,其中一个人是另一个人的子集。
……
那么对于某一个状态S,直接就能得到有多少个状态T,满足T包含于S。
得出答案为n*(n-1)/2再减掉非法方案。
理解代码后的林景徐徐吐出一口气,不得不对颜安刮目相看,高位前缀难吗?
难也不难,反正他没想到用这个方法解题,那对他来说,就是一个需要补足的点。
看完一题的他立即进入到下一题,这一次没有删除颜安的代码,而是在确定能够运行后再度全身心投入到阅读代码中去了。