106

今年的比賽在俄羅斯的首都莫斯科舉行。

十二月底,莫斯科的氣溫偏低,天空也是霧濛濛的。林知夏剛從機場出來,就感受到了一陣洶湧的寒潮。她拖著行李箱,跑到帶隊老師的身邊,老師問她:「有信心拿金牌嗎?」

「有!」林知夏回答。

話雖這麼說……

當她深入俄羅斯的腹地,來到了俄羅斯選手的老巢,她心裡有些沒底。

林知夏知道,在國際賽場上,俄羅斯、日本、韓國、美國、中國這幾個國家廝殺得十分激烈。近幾年來,大學編程競賽的冠軍多半屬於俄羅斯。

林知夏花了一年的時間去學習編程。她的數學功底非常扎實,還能把《數據結構》和相關算法倒背如流,因此她成功在省隊中脫穎而出。

然而,IHSPC不僅考驗了選手的數學邏輯思維,還要求選手具備一定程度的編程技巧。

林知夏寄希望於她的隊友。

這一次,與林知夏一同出戰的隊友,是省立一中的高三年級學長,也是信息學科競賽的佼佼者。

其中一位隊友姓蔡。蔡姓隊友小小年紀,就有很多白頭髮,於是大家都叫他「老蔡」。

另一位隊友姓粱。他長相比較年輕,於是大家都叫他「小粱」。

IHSPC比賽開始之前,老蔡自我解嘲道:「我們這一組的三個人,名字裡帶著『蔡』、『粱』、『夏』三個字,我們又菜,又涼,又瞎,齊活了。」

林知夏被老蔡的說法震驚。

更令她的震驚的是,他們完全被東歐選手包圍了。

他們的座位附近是俄羅斯隊、白俄羅斯隊、愛沙尼亞隊,拉脫維亞隊。這些隊伍裡的每一位同學都有一種很穩的氣質,都讓林知夏聯想起了羅馬尼亞大師賽上的Alexandrov。

林知夏坐直身體,嚴陣以待。

在林知夏的隊伍裡,小梁的編程水平最高。小梁負責編寫程序。而林知夏的數學功底最強。她負責分析題目。

他們順利解決了前三題,卻在第四題上遇到了障礙。這道題設置了一個以2為底的嵌套指數函數,函數已經被運算了M次,得到一個數值N,現給定一個X作為輸入,求N對X取模後的結果。

這道題出得非常巧妙,老蔡與林知夏持有相反意見。

林知夏堅持使用遞歸降冪公式直到模數等於1。老蔡認為,降冪不是這道題的關鍵點。老蔡曾經見過一道類似的題目,但他突然想不起來了。他與林知夏小聲爭論,小梁插了一句話:「老蔡,小林,到底怎麼做?你們快給個准信。」

林知夏拽過鍵盤:「抓緊時間,按我的方法來。」

「等等,」老蔡制止道,「你提交一次錯誤代碼,我們前幾題就白忙活了。」

是的,IHSPC的比賽規則十分苛刻。

選手答對了,不一定能得分,選手答錯了,一定會被扣分。

老蔡這麼一說完,林知夏的動作變得遲鈍。她重新梳理一遍邏輯,又在腦中運行程序。老蔡暫時把第四題放到了一邊,開始和小梁商量第五題的解決辦法。

林知夏低頭掃視第五題,又想起競賽老師的叮囑:IHSPC比賽的題目經常會給選手挖坑。很多時候,你以為你做出來了,其實你沒有。你以為你是正確答案,其實你漏掉了關鍵信息。IHSPC總是隱藏著一些特定的套路。

如果這是一場個人賽,林知夏可以隨心所欲地答題。但她身在團體中,她必須小心謹慎。她詢問老蔡對於第四題的看法,而老蔡正在敲擊鍵盤,編寫第五題的答案。

林知夏問他:「第四題不用費馬歐拉定理,還能用什麼方法?」

老蔡目光專注地盯著屏幕:「你等我把第五題寫完。」

「第五題你想怎麼做?」林知夏又問他。

老蔡戴著一副金框眼鏡,臉型圓潤如銀盤,通身顯出一種富貴的氣派。老蔡不像是一個普通的理工科書獃子,他身上蠻有靈氣——這是小梁心中對老蔡的評價。

小梁和老蔡作為信息學科競賽的隊友,已經合作兩年多了。原本,他們還有另一個隊友,但是,那位隊友的編程實力偏弱,教練就臨時把林知夏調進了老蔡的隊伍裡,讓林知夏代表省立一中出戰今年的國際高中生編程競賽。

老蔡與林知夏的合作並不愉快。

林知夏的不斷追問,打斷了老蔡的思路。老蔡深深地歎了一口氣,林知夏還在觀察他:「你的第十七行代碼,好像有個手誤。這裡不應該讓二進制字符串左移兩位……」

老蔡說:「我故意這麼寫的。」

小梁也說:「小林,你讓老蔡寫完。」

林知夏察覺氣氛不對。她立刻閉嘴,不敢吱聲。

這場比賽十分漫長,將從上午十一點持續到下午四點。到了中午一點左右,林知夏就很睏了。她強打精神,盯著隊友敲鍵盤,光標在屏幕上不斷移動,她暗暗地想,C++真是簡潔快速的語言,雖然固定的靜態結構是C++最大的缺點,但是她依然喜歡C++,因為C++是計算機底層架構的一把利器。

第50章 滑鐵盧

時間一分一秒地流逝,老蔡的手指懸停在電腦鍵盤之上。

老蔡是個細心的人。他寫程序時,追求精益求精。他偏過頭和小梁討論,要如何提高程序的運行效率。林知夏找不到插話的時機,只能坐在座位上,靜靜地聽著老蔡和小梁談得熱火朝天。

老蔡感覺自己把林知夏排擠到了隊伍之外。他有些內疚。他講了個笑話,活躍氣氛,還讓林知夏幫他檢查一遍代碼。

林知夏掃眼一看,確認老蔡的程序沒有問題。

此前,林知夏曾經指出老蔡的「二進制字符串不該左移兩位」。不過,現在看來,老蔡的思路是正確的。林知夏向他道歉:「對不起,我剛才說錯了,我沒想到你會這麼寫。你的解題方法和我完全不同。」

老蔡調整了一下座椅的位置。他一邊提交代碼,一邊對林知夏說:「趕緊的,我們來研究第六題。第六題是代數幾何……」

老蔡一句話沒說完,小梁的手指輕點桌子:「第五題錯了。」

老蔡和林知夏一起抬頭,齊刷刷地望向電腦顯示屏。

IHSPC是一場殘酷而嚴格的比賽,每個隊伍的分數都是實時更新的,也是公開透明的。參賽選手上傳某一道題的代碼,後台程序就會立刻判定得分。

對與錯,得分與扣分,全在一念之間,也在一瞬之間。

老蔡感受到了巨大的壓力。他屏住呼吸,嗓音沙啞:「我們第五題寫得不對?」

第五題爆出一個大錯,倒扣7分,省立一中的總體排名一下子從全場第六名跌落到了全場第十七名。

截至目前,俄羅斯隊和韓國隊遙遙領先,中國的幾支參賽隊伍緊隨其後。省立一中不佔任何優勢,林知夏心弦緊繃,急忙查看後台的反饋。她說:「你用二進制字符串來表示第五題的集合,左移兩位代表乘4,可是你少寫了一種情況……我也有錯,我沒有仔細閱讀你的每一行代碼。」

老蔡緊緊地皺著眉頭,臉上陰霾不散。他握著鼠標,刷新頁面,比賽排名再度更新——省立一中淪為第十九位。

林知夏每次考試都是年級第一,她從沒見過「第十九名」的成績。她有點懵了。老蔡還在修改第五題。小梁安撫道:「老蔡,別急,還有機會。」

老蔡第二次提交第五題,再度被判定為「Error」。

這個「Error」,就是「錯誤」的意思,省立一中又被扣了4分,整體排名連續下滑。

「真要命啊。」老蔡感慨道。

林知夏擋開老蔡的手,直接奪過鍵盤。她在老蔡的程序基礎上,新增了一個變量。她點擊鼠標左鍵,按下綠色確認按鈕。可是,她並沒有力挽狂瀾。「Error」重複出現,「省立一中」的名次沉落到了第四十三位。

小梁不留情面地批評道:「林知夏,你交得太快了啊,我們沒看清你的寫法。」

這時候,林知夏才把試題拿出來,重新閱讀第五題的題干。她和隊友們說:「我知道了,我們都把這道題記錯了。兩個星期前,老師帶我們訓練的時候,給我們出過一道題,那道題和這個第五題有百分之八十的相似度,但是限定條件完全不同……」

林知夏還沒說完,小梁和老蔡已經在合力修改。

他們不約而同地被激發了賭徒心態。

《天才女友》