“、程序运行时间限制在5ooms以内。内存空间不作限制。”
底下那些原本不当回事的人,开始皱眉了。
“5ooms?原来的时间限制不是秒吗?”
“没事,优化一下算法就好了,内存空间不设限应该是个突破口……”
屏幕上继续显示出最后一条要求。
“、源代码大小在k以内。”
这下那帮人全都失态地叫了起来。
“坑爹啊!”
“k以内还编个毛呢!”
“耍我们吧这是!”
k以内的源代码,就是说整个程序完成以后,源代码大约只有ooo个字符,更直观一点,大约就是oo行不到的代码。
而“竞价抢车位”这个程序虽然简单,现在却加上了半秒的运行时间限制,初步估计至少也得到4k的代码才能搞定。如此看来半小时之内想要将算法优化到那个程度,恐怕远远不够……想要达到上面的每个要求,除非是研究算法之道多年的编程高手,否则真是个不可能的任务了。
“大家请安静。”主持人说,“经公司人员与评审团讨论,第三条要求作为可选要求,不是必要的。重复一次,第三条要求不是必要的,大家的源代码可以过k容量。只要大家在半小时内完成运行时间为5oo毫秒的程序即可,我们会按实际情况选取优胜者。”
但那些骄傲的家伙们怎么可能服输,主持人越是强调第三条要求是可选要求,他们越是要跟这条要求较劲。
一时间,对竞赛环节早有准备的大学生们都打开了自己的笔记本电脑,敲击键盘的声音响彻整个大厅。
========================================================
注解:(哎呀我觉得其实也没必要注解吧……)
、度熊就是对百度的戏称,这个很多人都知道吧。
、cm是一项国际性的编程竞赛,主要对算法要求很高,这个比赛影响力非常大,很多公司都会对比赛的优胜者免试录用。
、本章及下一章提到的这个竞赛题目和算法,都是在现实基础上施以艺术加工而成的,所以会有一些夸张的成分在里边,懂行的人就不要纠结合理性了。
4、这个题目的意思就是,要编一个效率又高代码又极端简洁的东西……
………【第八章 各种打脸】………
得晚了一小时,因为这章写得多了点……
明天还是希望能冲一下新书榜啦,新书最后一周了,请大家多多支持!
===============================================
赵亮一打开电脑,卫昕就有点想找借口离开讲座了。他很清楚自己这个舍友的编程习惯有多恶劣——他会把自己的每一个思路都用自言自语地方式表达出来。
但卫昕出不去,左右两边都有专心解题的人,要是他这时候说“打扰一下借过”那必然是要惹得人家生气的了。
于是他只好靠在椅背上,叹了口气,听着赵亮极为敬业地汇报他的进展。
“修改一下srt排序的比较标准可以缩短ooms……”
“……这里不对,一定有别的办法。”
“只要在原先的算法上再优化一下的话……”
卫昕后悔自己没带耳机,坐在这个死话痨身边真是受罪。
“竞价抢车位”这道题目,简单来说就是让大家想出一个算法,解出在特定条件下,怎样划定一个占地面积最大、消费额最少的停车位。这种要在脑建立坐标点的空间运算型题目,卫昕最不擅长了,所以想真心关注一下赵亮的进展都不行,听他的话就好像听天书一样。
时间一分一秒地过去,十五分钟后,还有人在焦急地画着草图建立算法模型,有人倒是已经编好,但效率还是不够高,半秒的运行时间限制实在有些苛刻,于是他们一直在抓耳挠腮地想办法优化程序。
赵亮也进入了那种焦虑状态,看样子是无论如何也突破不了瓶颈。
“妈的!”他忽然一拍桌子,大吼道,吓了卫昕一跳。
周围的人看了他一眼,知道这是想问题想得急了,也就没有太过在意。不过卫昕却听清了他后来小声说的那句话:“那个算法的优化方法我有在梦里见过的,可恶就是想不起来……”
卫昕半眯起眼睛。
看来,这一次他不能光做旁观者了。
半小时过去,参加这次小型编程竞赛的人都已经把程序到评审团的电脑上。测试数据的过程很快,不过十分钟,所有的结果都已经整理出来了。
付兰一脸不情愿地从评审团站起来,扫视了一下全场观众,努力压制住自己的紧张感,把头埋得很底,站到讲台上宣布道:“下面是按运行时间排序的结果。第一名赵亮,第二名吴梓鑫,4oo毫秒……”
随着他宣布结果的声音,底下不时有人出遗憾的叹气声。就连第一名的赵亮也是一副很装逼的惋惜状,不停摇头。
付兰说:“很遗憾,这次竞赛只有两名参赛者的源代码在k容量以下,但他们的运行时间已经出了5oo毫秒,另一个则是秒,所以不算完成任务。前两名可获得公司提供的键鼠套装,三到五名可获得鼠标垫一个。”
奖品都不是什么高级货,但对于这些程序员来说,解题的成就感才是最重要的,所以那几个得奖的人在一开始的叹息之后,也欣然接受了身边同学的祝贺,上台领奖。
“最后,赵亮同学的程序虽然容量已经到达。7k大小,但在算法效率上做出了相当出色的优化。公司方面和评审团一致决定,将百度程序员的面试资格授予——”
说到这里,付兰忽然觉得全场气氛有变化,先是一静,然后出现了连续的低语声。于是他不禁抬起头看着观众席。
“这位同学,你有什么问题吗?”付兰微微一笑,对着话筒问道。
卫昕举着右手,在所有人的注视下,回答道:“我有一个k以内的程序。”
底下一阵骚动。
付兰说:“可是提交时间已经过了。”
卫昕说:“我没带电脑,所以刚才一直没机会提交。请问我能不能现场编写一个程序?”
观众们都议论纷纷。
“现场编程,他以为他是谁啊?”
“太嚣张了!有人认识这家伙吗?不是你们netbsp;“没听说过他。不过他说是k以内的程序,说不定真的……”
付兰背后的主持人小声对他说:“快把他打掉,这人是不是来捣乱的?”
但付兰摇摇头,微微俯下身子,对着讲台上的话筒说:“那么现在请上来吧,我代表评审团给你这个机会。”
于是卫昕在众人的目光,从容地走到讲台边上,在评审团的一台电脑前坐了下来。同时大屏幕的画面生了改变,切换到了他这台电脑的屏幕。
“我想先确认一下,这次竞赛,是不限语言的,对吧?”卫昕向付兰问道。付兰点了点头。
“靠!我之前怎么没想到!可以用c++以外的编程语言啊。”一个男青年对他同学抱怨道。
他的同学苦笑道:“没用的,那边有人用了jv,还是过不了。”
讲台边上的卫昕,抬起双手,像准备弹钢琴一样活动了一下手指,然后飞敲出一行代码。
那行代码投在屏幕上,所有人对着这句充满了“#a*”这类火星一样字符的代码,都愣了一下。
“是Per1。”有人低声说道。
大家都没想到,卫昕使用的竟然是相对冷门的、被称为“编程语言的诗篇”的Per1语言。这种语言的显著特点就是,语法看上去极为随性,各种符号的应用也很多。代码排版得不好就像一堆乱码,但如果排得认真一点,却也有一种飘逸之美。
更关键的是,这门语言十分简洁。
于是所有人对卫昕的态度都有了转变——说不定,他真的能成功!
但卫昕写了几行之后,忽然又举手问道:“请问这台电脑联了吗?”
“随时可以上。”
于是卫昕做了一件让所有人哭笑不得的事。
他打开了谷歌搜索引擎。
在百度的讲座上,在一群百度员工面前用谷歌来搜索,无异于打脸。
卫昕接着更是毫无自觉地做了第二件让其他人大跌眼镜的事——他在搜索Per1的基本语法。“对不起啊,这个语言我一年前出于兴趣稍微学过,不是很熟……”他向评审团解释道。
“搞什么飞机啊!”
“把他赶走,那小子是上去搞笑的吧!”
观众们愤怒地叫道。
然而卫昕不以为意,继续在他们鄙夷的目光,照着语法规则慢慢敲打代码,有时还直接从页上复制一段现成的过去。这一切就显示在大屏幕上,当然引起了一片嘘声。
“好了。”卫昕站起来,示意评审团他的编程已经结束。
刚刚还在骂他鄙视他的观众们,忽然意识到,卫昕编完整个程序,总共只用了十分钟。
而大屏幕上编辑器的状态栏显示,整个程序只有77行,8oo多个字符。
于是所有人都安静了,等着评审团运行那个程序,输入测试数据。
几分钟过去以后——
“卫昕的程序测试完成,数据点全部正确,运行时间为,”付兰说到这里,故意停了一下,等吊足了大家的胃口才继续说道,“7o毫秒。”
全场一片寂静。
然后,是潮水般的掌声。
“nB!”
“大牛!”
“吊爆了!”
卫昕在这种热烈的叫喊声,一时也觉得自己这回玩得有点大,不禁有些不好意思地躲到评审团背后。但付兰还是把他拉了出来,宣布他获得这次竞赛的特别优胜,虽然已经出了提交时间没有获得奖品,但百度公司对他提出了面试邀请。于是卫昕被付兰引导着跟一群西装男握手合影,弄了好久才搞清楚,讲座也终于正式结束。
�
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。
赞一下
添加书签加入书架