第75節(jié)
如果這是一場個人賽,林知夏可以隨心所欲地答題。但她身在團(tuán)體中,她必須小心謹(jǐn)慎。她詢問老蔡對于第四題的看法,而老蔡正在敲擊鍵盤,編寫第五題的答案。 林知夏問他:“第四題不用費(fèi)馬歐拉定理,還能用什么方法?” 老蔡目光專注地盯著屏幕:“你等我把第五題寫完?!?/br> “第五題你想怎么做?”林知夏又問他。 老蔡戴著一副金框眼鏡,臉型圓潤如銀盤,通身顯出一種富貴的氣派。老蔡不像是一個普通的理工科書呆子,他身上蠻有靈氣——這是小梁心中對老蔡的評價。 小梁和老蔡作為信息學(xué)科競賽的隊(duì)友,已經(jīng)合作兩年多了。原本,他們還有另一個隊(duì)友,但是,那位隊(duì)友的編程實(shí)力偏弱,教練就臨時把林知夏調(diào)進(jìn)了老蔡的隊(duì)伍里,讓林知夏代表省立一中出戰(zhàn)今年的國際高中生編程競賽。 老蔡與林知夏的合作并不愉快。 林知夏的不斷追問,打斷了老蔡的思路。老蔡深深地嘆了一口氣,林知夏還在觀察他:“你的第十七行代碼,好像有個手誤。這里不應(yīng)該讓二進(jìn)制字符串左移兩位……” 老蔡說:“我故意這么寫的?!?/br> 小梁也說:“小林,你讓老蔡寫完?!?/br> 林知夏察覺氣氛不對。她立刻閉嘴,不敢吱聲。 這場比賽十分漫長,將從上午十一點(diǎn)持續(xù)到下午四點(diǎn)。到了中午一點(diǎn)左右,林知夏就很困了。她強(qiáng)打精神,盯著隊(duì)友敲鍵盤,光標(biāo)在屏幕上不斷移動,她暗暗地想,c++真是簡潔快速的語言,雖然固定的靜態(tài)結(jié)構(gòu)是c++最大的缺點(diǎn),但是她依然喜歡c++,因?yàn)閏++是計(jì)算機(jī)底層架構(gòu)的一把利器。 第50章 滑鐵盧 時間一分一秒地流逝,老蔡的手指懸停在電腦鍵盤之上。 老蔡是個細(xì)心的人。他寫程序時,追求精益求精。他偏過頭和小梁討論,要如何提高程序的運(yùn)行效率。林知夏找不到插話的時機(jī),只能坐在座位上,靜靜地聽著老蔡和小梁談得熱火朝天。 老蔡感覺自己把林知夏排擠到了隊(duì)伍之外。他有些內(nèi)疚。他講了個笑話,活躍氣氛,還讓林知夏幫他檢查一遍代碼。 林知夏掃眼一看,確認(rèn)老蔡的程序沒有問題。 此前,林知夏曾經(jīng)指出老蔡的“二進(jìn)制字符串不該左移兩位”。不過,現(xiàn)在看來,老蔡的思路是正確的。林知夏向他道歉:“對不起,我剛才說錯了,我沒想到你會這么寫。你的解題方法和我完全不同?!?/br> 老蔡調(diào)整了一下座椅的位置。他一邊提交代碼,一邊對林知夏說:“趕緊的,我們來研究第六題。第六題是代數(shù)幾何……” 老蔡一句話沒說完,小梁的手指輕點(diǎn)桌子:“第五題錯了?!?/br> 老蔡和林知夏一起抬頭,齊刷刷地望向電腦顯示屏。 ihspc是一場殘酷而嚴(yán)格的比賽,每個隊(duì)伍的分?jǐn)?shù)都是實(shí)時更新的,也是公開透明的。參賽選手上傳某一道題的代碼,后臺程序就會立刻判定得分。 對與錯,得分與扣分,全在一念之間,也在一瞬之間。 老蔡感受到了巨大的壓力。他屏住呼吸,嗓音沙啞:“我們第五題寫得不對?” 第五題爆出一個大錯,倒扣7分,省立一中的總體排名一下子從全場第六名跌落到了全場第十七名。 截至目前,俄羅斯隊(duì)和韓國隊(duì)遙遙領(lǐng)先,中國的幾支參賽隊(duì)伍緊隨其后。省立一中不占任何優(yōu)勢,林知夏心弦緊繃,急忙查看后臺的反饋。她說:“你用二進(jìn)制字符串來表示第五題的集合,左移兩位代表乘4,可是你少寫了一種情況……我也有錯,我沒有仔細(xì)閱讀你的每一行代碼?!?/br> 老蔡緊緊地皺著眉頭,臉上陰霾不散。他握著鼠標(biāo),刷新頁面,比賽排名再度更新——省立一中淪為第十九位。 林知夏每次考試都是年級第一,她從沒見過“第十九名”的成績。她有點(diǎn)懵了。老蔡還在修改第五題。小梁安撫道:“老蔡,別急,還有機(jī)會?!?/br> 老蔡第二次提交第五題,再度被判定為“error”。 這個“error”,就是“錯誤”的意思,省立一中又被扣了4分,整體排名連續(xù)下滑。 “真要命啊?!崩喜谈锌?。 林知夏擋開老蔡的手,直接奪過鍵盤。她在老蔡的程序基礎(chǔ)上,新增了一個變量。她點(diǎn)擊鼠標(biāo)左鍵,按下綠色確認(rèn)按鈕。可是,她并沒有力挽狂瀾?!癳rror”重復(fù)出現(xiàn),“省立一中”的名次沉落到了第四十三位。 小梁不留情面地批評道:“林知夏,你交得太快了啊,我們沒看清你的寫法?!?/br> 這時候,林知夏才把試題拿出來,重新閱讀第五題的題干。她和隊(duì)友們說:“我知道了,我們都把這道題記錯了。兩個星期前,老師帶我們訓(xùn)練的時候,給我們出過一道題,那道題和這個第五題有百分之八十的相似度,但是限定條件完全不同……” 林知夏還沒說完,小梁和老蔡已經(jīng)在合力修改。 他們不約而同地被激發(fā)了賭徒心態(tài)。 第五題讓他們輸?shù)迷綉K,他們越要嘗試,直到把第五題答對為止。 林知夏指著屏幕,建議道:“把這個函數(shù)刪掉吧,它是冗余代碼?!?/br> 所謂的“冗余代碼”,指的是沒有必要存在的代碼。 小梁的手指在鍵盤上飛速躍動,可他并沒有理睬林知夏。小梁和老蔡低頭耳語一陣,認(rèn)真交換了意見,再次提交第五題的答案——這一次,他們終于成功了。 偌大的比賽場館內(nèi),充滿了各種語言的談話聲。 對面的俄羅斯隊(duì)正在談笑風(fēng)生,他們目前排名全場第一。隔壁的愛沙尼亞隊(duì)神情肅穆,三名隊(duì)友一邊畫圖,一邊探討著第六題。 寬敞的落地窗之外,飄著一片濕漉漉的霧氣。窗戶上沾著朦朧的水珠,天空越發(fā)黯淡灰白。遠(yuǎn)處的樓房成排而立,映在暗色調(diào)的背景里,就像一副意境深遠(yuǎn)的油畫。 林知夏走神了。 林知夏今年才擁有了第一臺電腦,而老蔡和小梁從小學(xué)習(xí)編程。小梁的爸爸和mama都是省城一家電腦公司的程序員,可以說是出身于“程序員世家”?;蛟S,林知夏應(yīng)該調(diào)整自己的狀態(tài),努力地做好輔助工作。 經(jīng)過一番深思熟慮,林知夏點(diǎn)了一下頭。她拖動椅子,靠近老蔡。 老蔡打開了本次比賽的主頁面。他看見,省立一中排在第四十九名,后面的隊(duì)伍還有較大的上升趨勢,照這個情況發(fā)展下去,別說金牌了,銅牌都沒希望。 林知夏困惑地問:“為什么我們越來越靠后了?” 老蔡說:“俄羅斯和美國都派了二十幾支隊(duì)伍。你看美國這幾所高中,全在前面,就連英國學(xué)校都反超了我們……” 林知夏連忙說:“我知道第四題要怎么做。只要我們把第四題答對了,省立一中的分?jǐn)?shù)就會上來的!” “第四題怎么做?”老蔡反問她,“還是剛才那個辦法?” 林知夏非常確定:“是的。” 老蔡推高了鼻梁上的眼鏡。他依舊認(rèn)為林知夏的做法有問題,就像他寫錯了第五題一樣。他覺得,林知夏對第四題的觀感有誤。他建議林知夏先在草稿紙上創(chuàng)造一組數(shù)據(jù),再把這組數(shù)據(jù)代入她的程序,驗(yàn)算她的方法能否成功。 “我在自己的腦子里驗(yàn)算過了。”林知夏誠實(shí)地說。 老蔡卻說:“你寫下來,多寫幾頁紙,我要按步驟問你。你剛才提交第五題,沒讓我和小梁檢查。你出錯了,隊(duì)伍丟了四分?!?/br> 林知夏伸手搭上鍵盤:“最開始,我以為,第五題是我們之前遇到過的套路題……你和我犯了一樣的錯。這就是‘三人成虎’的道理——三個人確認(rèn)了同一件事,無論這件事是真是假,他們的第一反應(yīng)都是隨大流?!?/br> 老蔡右手撫著鍵盤。他本來在思考第六題。而林知夏的這段話,讓他莫名煩躁起來。他把眼鏡摘下來,放在桌上,抬起手掌,猛地搓了搓臉。 林知夏的說辭一套一套的,把老蔡說得心煩意亂。 ihspc的賽場上,最忌諱的事情,就是隊(duì)友們相互指責(zé)——老蔡接受了兩年多的訓(xùn)練,他和小梁都很清楚這個規(guī)矩。然而,林知夏似乎不明白,或者,她就是覺得把事實(shí)說出來也沒什么要緊的。 老蔡扶住額頭:“林知夏,你今年多大了?” 林知夏往后挪了一寸距離:“我今年十二歲……虛歲十三歲,馬上就十四歲了。” 老蔡指了指自己,又指了指小梁:“我們比你大好幾歲?!?/br> “我們的靈魂都是平等的,”林知夏喃喃自語,“無論我是十二歲,還是九十二歲,我都會相同的態(tài)度來對待你?!?/br> 小梁“嘖”了一聲:“你今年是十二歲,不是九十二歲……” 林知夏記起她的正事:“時間好緊張,我可以先用電腦寫第四題嗎?” 老蔡忍無可忍,爆發(fā)道:“你把步驟寫下來,不行嗎?答錯了會扣分。你是人,不是神,你犯錯了,隊(duì)友就要給你收拾爛攤子,你十二歲也該懂事了?” 林知夏緩了兩秒鐘,與他針鋒相對道:“你能不能不要攻擊我的年齡?我確實(shí)會犯錯,每個人都會犯錯,只要我們把錯誤改正,那段經(jīng)歷就是有意義的?!?/br> 老蔡崩潰道:“你別跟我扯雞湯?!?/br> 林知夏耐著性子解釋道:“我可以把第四題的步驟寫下來,但是第四題是遞歸指數(shù)函數(shù),我要用數(shù)論的方法寫,再套用費(fèi)馬歐拉定理。我看到現(xiàn)在沒人在用鍵盤,我才提議讓我來寫程序,然后我借助代碼,再和你們詳細(xì)解釋。這對你們來說,會比我手寫的內(nèi)容更清楚。我也可以在紙上寫完程序代碼,再謄抄到編譯器里……只是這樣一來,你可能沒辦法檢查我的每一個步驟,因?yàn)榇a注定是簡潔又跳躍的,你不能憑借rou眼去debug?!?/br> “debug”是編程用語,指的是“解決程序故障”。 老蔡沒有接話。他的視線聚焦于顯示屏。 省立一中的排名仍然在下滑。還有一個非洲國家隊(duì),升到了省立一中的前一位。 非洲隊(duì)? 在老蔡的印象中,非洲是一塊不發(fā)達(dá)的地域。他看過非洲一座城市的紀(jì)錄片——那座城市的外圍就是非洲草原,獅子、羚羊和斑馬快樂地奔跑在城市郊區(qū),給他帶來了極大的震撼。 他,竟然被非洲隊(duì),超過了。 老蔡甚至不確定,非洲隊(duì)的學(xué)生們,日常生活安不安全,會不會被獅子追逐,被豹子戲弄,被大象威脅。 而他,在省立一中好吃好喝地接受訓(xùn)練,享受著食堂大廚的悉心款待,竟然比不上一支來自非洲的隊(duì)伍。 老蔡的胸口生出一團(tuán)悶氣,不上不下,阻塞肺管。他緩聲陳述道:“你拿了羅馬尼亞大師賽的金牌,還來參加信息學(xué)科的競賽,老師非要把你塞進(jìn)我們組,擠掉了我們原來的隊(duì)友。我和那個被擠掉的人,是中學(xué)五年的好朋友。老師們非說你聰明,你實(shí)力強(qiáng),你能干,你有天賦。行,好吧,我同意你入隊(duì)。你還是給我們扣了四分,這就是你的實(shí)力?” 林知夏坐在椅子上,向后挪動一段距離。她不想再聽老蔡說話了。 尤其,當(dāng)老蔡說到,他和那個被擠掉的隊(duì)員,是中學(xué)五年的好朋友,林知夏一下子想起了江逾白。如果有誰把江逾白的位置擠掉了,林知夏一定會非常生氣的。 可是,信息教練并沒有告訴林知夏,老蔡、小梁和那個人是好朋友,是常年在一起訓(xùn)練的隊(duì)友。 教練只說:老蔡、小梁、林知夏,你們?nèi)齻€人最適合組隊(duì)。林知夏,你的性格和心態(tài)都很好,還拿到了國際比賽的數(shù)學(xué)金牌。你和老蔡小梁組隊(duì),肯定能捧回ihspc的獎杯! 林知夏的心情很低落。 老蔡還在指責(zé)她:“第五題第一次報(bào)錯,你說我少考慮了一種情況,把我往歪路上指,丟了七分,這幾次折騰完,非洲隊(duì)都能反超我們……” “我已經(jīng)承認(rèn)我錯了,”林知夏看著越走越近的監(jiān)考老師,有意識地降低自己的音量,“這本身就是一個事故,我們應(yīng)該平攤風(fēng)險(xiǎn),平攤后果,因?yàn)槲覀兪且粋€團(tuán)隊(duì)?!?/br> ihspc規(guī)定,參賽選手可以小聲討論,但不可以大聲喧嘩。 老蔡的嗓門稍微有點(diǎn)大,影響了坐在他后面的新西蘭選手。 新西蘭選手向監(jiān)考老師反饋情況。老師口頭警告省立一中的隊(duì)伍:“excuse me,could you please lower your voice?” 林知夏慌忙道歉:“sorry,my teammates and i……” 林知夏還沒說完,老師止住了她的話:“that is all right.” 說完,老師就走了。 小梁縮在角落,沒聽清這位監(jiān)考老師的英語問答。他問起林知夏:“出什么事了?” 林知夏轉(zhuǎn)述道:“老師讓我們聲音小點(diǎn)。我說了對不起,老師回答沒關(guān)系?!?/br> 突發(fā)的狀況接二連三,林知夏和她的隊(duì)友都有些心不在焉。林知夏還想寫第四題,小梁圓場道:“算了算了,我們先做第六題和第七題吧?!?/br> 老蔡正在電腦上寫第六題。他反復(fù)編譯了好幾遍。小梁和林知夏幫他建立一組輸入輸出的數(shù)據(jù)標(biāo)準(zhǔn)。 賽場上的時間逃得飛快,省立一中的排名升上去三回,又掉了四回。老蔡的背后出了一層薄薄的汗水。雖然,第六題回答正確,但是,他的方法耗時較長,最終得分偏低。他試著換了一種方法,結(jié)果,第六題變成了“error”。他不僅沒掙到分,還造成了一點(diǎn)損失。 他快速穩(wěn)定自己的情緒,把剩下幾道題分派給隊(duì)友。