凡煙小說

【34】

關燈
【34】

開賽前五分鐘,志願者開始沿桌分發試題冊。

正面朝下倒扣在桌上,和一疊白紙放在一起,在燈光下泛著冷白。右桌角放著兩瓶沒開蓋的礦泉水,唯一的電腦在左邊,鍵盤和鼠標都不允許選手提前觸碰。所有人坐在座位上等待最後的時間走完,滿場安靜,落針可聞。

三點整,響賽場鈴聲。

隨著第一個音符沖散在空氣,整座禮堂瞬間從靜止中解除,天花板的俯拍視角能看到幾乎所有人都在同一刻有了動作,像一幅畫忽然流動鮮活。林瓏抓過倒扣的試題冊,遞了一本給竇凱航,他隨手接過,她則捏著筆深吸口氣,迅速開始閱讀。

十一道題,中文模式,每題的長度大概在一頁A4紙,她逐字逐句無聲快速讀過去,讀到C題結束立刻擡頭看向竇凱航。他像是已經翻完了大半,試題冊被他卷成筒撐著下巴百無聊賴地發呆,接觸到她的目光,掃了一眼她面前的紙:“C題?可以。”

【競賽規則第四條】

【隊伍總用時為解出各賽題用時之和。每道賽題用時為該題第一次被正確提交的時間,先前每次錯誤提交將加罰20分鐘。最終未通過的賽題不計罰時。】

如果多隊解題數相同,最終是要靠總用時多少來分出排名先後,提交失敗一次就罰時20分鐘,對選手絕對是巨大的精神威懾。身背巨量罰時而導致提前退出獎牌競爭幾乎是ACM被講爛的故事,每一次提交都是最緊張的一刻,而又以開場第一題為緊張之王。

開場第一題定軍心。又因為通常選擇的是最有把握的題,一旦失敗對全隊心態的殺傷力更大。絕大多數隊伍都會派出最穩的人來開題,力爭一次AC。

而這個重任交在林瓏手中,簡直讓她呼吸和心跳一齊加快,她根本無法想象竇凱航不親自開題,也沒像她一樣邊看題邊已經在紙上寫思路,如賽前說好的一般,似乎看看就只是看看,此刻隨意地點點頭,朝唯一的那臺電腦示意了一下:

“來吧。”

是賽前早布置好的事,林瓏也知道這是一顆裹著荊棘卻依然誘人的蜜糖。她長到這個年紀,自我否定已經成為本能,即使跟著竇凱航以後好轉了不少,可一旦心態不穩,這種從小到大根深蒂固的思維模式還是占上風。訓練強度大並不可怕,可怕的是一旦有波折就瞬間會被焦慮自卑難過淹沒掉的心情,不管平常再多的讚美都抵不過一道題不會產生的崩潰感。那是一種恨自己沒用的情緒。

就算知道要悅納自己,還是難保出現“別人悅納自己是優點大於缺點,我光心態差這一條缺點就能把所有優點抵掉”的沮喪。

這些天的訓練裏,她幾乎是頂著“林瓏你好差勁”“你根本不配成功別做夢了”的負面思想,咬著牙給自己灌輸“我可以”“我能行”。如果開場第一題敗了,她的心理就要面臨嚴峻考驗,但如果一次過了,對她的信心真的就有很大提升。她擡起頭,清淩淩的眸子一瞬不瞬地盯住了電腦屏幕,手指已經快速在鍵盤上敲擊。

搶開局階段,所有人都全神貫註,禮堂內的空氣幾乎是膠著的,隨時都可能誕生全場第一發。各隊選擇的先攻目標都不一樣,林瓏直奔的是一道交通運輸題。

【C題:巫師盛會】

原題面占據了一整張A4紙,這也是ACM比賽中常見的長度。但是大致能概括成三句話:

【無數巫師從世界各地來觀看魁地奇世界杯,魔法部安排了n個門鑰匙幫助大家抵達營地。第i個門鑰匙可以傳送p[i]個人,必須在第d[i]分鐘前被使用。營地每分鐘只能接收一個門鑰匙到達,求最多可以運送多少巫師。】

[註:1≤n,p[i],d[i]≤100000。]

天臺上一筆一筆抄過的數據結構在腦海裏電光火石浮現,林瓏什麽話都沒說,上手就先初始化了一個優先隊列。Priority_queue在手,又直接一個sort,把門鑰匙按照過期時間從晚到早排。這一切做完再拉過剛才的演算紙,那上面早理好了貪心算法的策略路徑。光標在編譯器上一路閃爍,程序在她手下飛速成形。

五分鐘,五十行代碼。

做的時候一氣呵成,交的時候反而突然止歇,她的鼠標懸在提交鍵上,一時沒下決心。

罰時……20分鐘……

她咬咬牙,下意識切去排行榜看了一眼。先前空白的頁面已經有了色澤,十幾支隊名後都掛上了鮮紅的“WA+1”,顯然已經做過嘗試且成了系統的刀下亡魂。那些WA分布四海,有B題有E題也有I題,她盯了其中兩個C題一眼,攥緊了鼠標。

但她始終沒有轉頭去求助竇凱航。

賽前說好的了,開場第一題全權交由她自己來,直到她最後通過前他都不會插手,哪怕錯了十五次,那就自己負責交第十六次!

那時候他問她:“堅持得住嗎?”

那時候她坐在夜晚燈光下暖意融融的訓練室裏看他整理的數論筆記,手邊是他去星巴克買來的華夫餅和熱牛奶,抽屜裏放著鄭景給的巧克力曲奇,鍵盤邊是吳升買的人手一個的鼠標墊,微信群裏是沈庭謙和張柯連夜覆盤回憶的北城新生賽經歷,書包上掛著的是袁天徐亮邱博傍晚出去逛街帶回來的掛件小錦鯉。已近午夜,訓練室裏沒有一個人走,她就在這片四處都在討論備戰的熱鬧聲裏,仰頭說:“可以。”

那時候竇凱航看了她片刻,像是在判斷她是不是勉強,然後他說:“好。”

他說:“林安安,你要記得,就算錯了也沒什麽可怕,哪怕你錯了十幾二十次,我也有辦法最後拿冠軍。我只要你獨立堅持過第一道題的過程,保持自信。”

“你的實力絕對足以應付北城新生賽的所有題。不管是開場還是壓軸都一樣。這件事最難的就是相信自己,你不要老想著錯了怎麽辦,哪怕失誤了,你也比場上所有人都強。”

當時林瓏差點握著鼠標哽咽落淚,她習慣了被斥責“你怎麽又緊張你看看誰像你一樣”,從來沒有人告訴她“就算錯了也沒關系,你依然是很厲害的人”。這種話其實不講道理,不能徹底讓她放過自己,但卻給她緩解了一大口氣,而努力絲毫沒減少,成批的算法和定理一夜一夜地反覆翻過。在結果未出之前,都積攢成她的底氣,也匯聚成她如今站在賽場上的堅強。

她又檢查了一遍邏輯和語法,再不猶豫,左鍵拍下提交。

進度條開始於屏幕上方顯現。

5%,20%,70%——在連跳兩個大幅度飛躍之後,系統並沒有讓她等待太久,直接就出了判定結果。

全場的第一個AC!

綠色AC跳出來的那一刻,像是有人在林瓏眼前點燃了一大簇煙花,她第一本能就是扭頭去找尋白色旗桿的身影,撲個空,才反應過來北城新生賽沒有氣球。但是完全擋不住她綻開一個大大的笑臉,猛地轉頭,眼睛裏全是燦爛的光,語氣裏的興奮根本壓不下去:“凱神!我一次過啦!!”

竇凱航倚在玻璃擋板上,他似乎一直就彎著唇角在等這個結局。他伸手摸摸她的頭:“嗯,我們安安真棒。”

林瓏眼睛亮亮地笑,首戰告捷的感覺太好,尤其是扛過壓力做過最壞打算,那種置之死地而後生的信心真的是人最好的強心針。她一把抓過試題冊:“我繼續啦!”

她快速把剩下的題讀完,紙上列出一堆涉及知識點,仰頭找竇凱航:“B題是歐拉回路,E題是概率動規,我覺得都可以做,包括F題,應該是凸包+極角序,花點時間理思路也不是不行。還有J題……”

她一口氣數出好幾道,眼神明澈,躍躍欲試,睫毛揚起帶著清晨玫瑰般的清新。竇凱航依然點頭,他只坐在那裏,就像是鎮著的劍,多大風浪都打不到這方天地。他說:“這些你都沒問題。”

這個時候全場並不寂靜,92支隊伍92張賽臺都有聲音,海海漫漫地蔓過來,像是潮汐翻湧碎浪。林瓏心裏卻格外安穩,她在這些紛雜的聲響裏心無旁騖,對著題紙畫演算圖,不多時就又搭出一份程序框架。

48分鐘,E題破。

她快速從鍵盤邊起身:“凱神你用電腦嗎?”

每支隊只有一臺電腦,分配上機時間就成了關鍵,一個人在電腦上調試代碼的時候另一個人就只能在紙上手寫推算。她怕自己占著機子太久。

竇凱航從K題擡頭。他微一沈吟:“榜怎麽樣?”

“A大咬得很緊。”林瓏不假思索脫口而出,“他們三支隊現在領跑排行榜一二三,都過了兩道題,只有用時的差距,現在分別在開E和I題。然後就是咱們,大概慢了三分鐘。C大卡在F題,交了四次沒過了,不知道閆梟是怎麽指揮。邱博他們是十分鐘前過的第一道。”

竇凱航放下筆:“對情況這麽熟?”

“嗯嗯,我每隔一會兒就去看一眼。”

林瓏說:“凱神,你手頭那兩道好難,我看基本沒有人試圖交,我爭取B題也一次過,不調試,多給你留點時間。這樣在三小時前,我們起碼能有五道保底,最後沖刺的時候就很有希望!”

女孩眼眸明亮,神色瑩潤有光,燈光落在她肩頭,在竇凱航眼裏跳躍成燦麗的光點,他想起當初第一次看她上賽場,那種光芒自她身上綻放,像花火,將安靜的溫柔都照亮。而她的成長速度也驚人,一人獨對綠名隊不落下風,那都是周羿的直系學弟,她能一己之力應對自如。

如同蝴蝶翩然而起,他看到金色的羽翼穿透陽光。

她還仰頭看著他,眼眸裏是信任是全然的崇拜依賴,細白的手指按著娟秀的筆跡,末尾一個右括號帶著軟軟的小弧形。他需要定一下神才能把視線移開,給她遞了瓶水,從座位上起身。

“會不止五道。你可以把壓力給我,不用刻意省上機時間。”

……

“交了G??”賽場西南,一支小隊敏銳地發現排行榜變化,隊長驚訝地出聲,“這是他們誰做的,凱神?怎麽可能現在去碰G!那根本不是三小時前應該考慮的題!”

同伴匪夷所思:“但E又是誰做的,兩分鐘前他們不是剛通過E嗎?間隔這麽短肯定是兩個人的手筆,林瓏她已經達到比阿澤你快的程度了?你E題不還有一點才收尾嗎?”

第三人默默舉手:“師兄說過,不要以普通新人的標準看她……”

“我已經很誇張地去看了大哥……六分鐘拿一血的新人誰見過?Boss水準嗎?”

A大的隊伍在議論紛紛,不遠處,閆梟的神情難看得要命:“王淇,你到底在幹什麽,F題五次都不過!一百分鐘的罰時後面怎麽填!不是你說曾經見過類似的題嗎?”

被他吼的男生難堪又著急,攥緊草稿紙,聲音低得幾乎聽不見:“高一的時候……他……講過……”

“誰?!高一離現在不也沒幾年,你當時到底有沒有聽?”

閆梟煩躁地把筆扔在桌上。他往斜後方看了一眼,A大的隊伍畢竟訓練有素,短暫地關註了一下排行榜實時情況之後已經迅速回歸正題,坐在右邊的男孩很快交了E,繼續保持對榜首的威脅。但因為有一次罰時,已經落後於Y大那兩人,連著其餘兩支A大隊伍緊緊咬在二三四位。

又過了一會兒。

排行榜頂端的位置再生變化,亮起了全場F題第一盞綠燈。

閆梟:???

他差點氣倒,用力拍下I題的提交鍵,好在是一次過了,但隊伍名次也只是往前升了一點,聊勝於無。

賽場遼闊嘈雜,這一點聲響並不會傳去幾十米開外的地方。遠端,竇凱航問林瓏:“不是說先做B?”

“做到一半忽然想起來,F題其實應該有種簡便算法吧,當時你第一遍講那道例題我還沒聽懂,回去又想了半天。”林瓏擡眸,燈光下她睫毛彎彎,“剛才沒反應過來,還以為做F花時間要挺久,想起這種技巧之後發現明明就比B題簡單,趕緊去做了。”

……

比賽時長分秒流逝,排行榜形勢卻像是維持在了恒定值。到邁進第四個鐘頭的時候,前五的隊伍清一色全是兩小時前的熟面孔,一超三強的格局堅固清晰。039號賽臺,排名第五的隊長抹了一把頭上的汗。

“追不上追不上!怎麽會有隊過了八道題還零罰時!他們真的一次都不帶錯嗎,簡直大離譜!”

隊友感嘆:“我終於明白去年其他隊伍的感受了……這種大神明明就應該去省賽國賽打架,不要跑新生賽欺負人,這純純扼殺懸念啊。”

“我感覺今年的題比去年難好多啊,大家罰時普遍多,連A大都錯了好幾次。全場就他們保持無傷戰績,不會到最後都出不了一次WA吧。”

“……東子你不要講鬼故事,這會顯得他們兩個是外星人!”

“我能怎麽辦嘛,又不是我過了八道還零罰時……靠,九道了。”

眾人面面相覷,看著榜首在J題處新亮起的綠格。大腦放空幾秒鐘後,隊長咳嗽一聲:“行了,咱們專註自己,趕緊過來接著研究F題!前六不能掉出去,一定要守住銀牌區。”

……

088號賽臺。

林瓏松開握著鼠標的手,從胸腔裏呼出一口氣。這道H題考近似搜索,其實不算她很擅長的範圍,花了很久才成功。五個小時的比賽,對體力也是大考驗,沈庭謙之前的擔心並不是空穴來風。當你有把握的題一道一道被解掉,必須要跨出舒適區,既要長時間保持高強度思考,還要時刻承受著四面八方的賽場壓力,真挺磨人。

她又看了一眼榜,後面三支A大隊伍還追著。

“凱神你之前說的一定有辦法最後拿冠軍,是什麽方法?”

竇凱航:“AK。”

林瓏:“……”

就像問學霸:怎麽才能考到第一名?學霸說:把所有題都做對就可以了啊。

竇凱航挑眉:“難道你不想?”

All Kill,一個選手能在賽場上實現的最高成就,整個競賽生涯裏可能都遇不到一次的完美結局。這個詞從竇凱航嘴裏說出來,的確在那一瞬間無比蠱惑而讓人心動,明明已經快精疲力盡都又生出無限的向往來。但冷靜一下,這是她想就有用的嗎?

選手想AK,出題人自然不想讓選手AK,於是每場比賽每套題中,必有幾道極其坑爹的玩意,專門喪心病狂拔高難度,讓全場都沒轍。這些年來能出AK的比賽屈指可數,幾乎所有人都會倒在黎明之前。

但眼前的男生唇角掛著點無謂的笑,像是無視這條潛規則,帶著點骨子裏沒遮住的傲和銳,偏又如此耀若昭陽。他看上去那麽像雲端神祗,下頜線帶著得天地鐘愛的英俊之氣,卻又如此的如此的給人安心。那雙眼睛看過來,像是看出了她的動搖和猶豫,只道:“相信我嗎?”

林瓏下意識點頭。

“那你聽好,最後剩下的這兩道題,約等於第一次打周賽的你碰上當時做不出來的第四道。它們確實稍微超出了你的能力範圍,但我覺得,你踮起腳尖也不是不能夠到。有我給你兜底,我來承擔風險和壓力,做出來血賺,做不出來不虧,還有一個半小時,要不要試試?”

——你的實力絕對足以應付北城新生賽所有題。不管是開場還是壓軸都一樣。

——她是最好的。只是我現在才遇見。

——世界上優秀的人多又怎樣,你自己也是其中的一分子,這不是贏了嗎,誰說你不厲害。

這些話一句一句響在腦海,林瓏猛一咬唇,她知道一切到了決勝時刻。旁人說再多都是鼓勵,最終一定是要靠自己破除心魔,解掉壓軸題不僅鎖下冠軍,也或許意味著這麽多年的解脫和重新鼓起勇氣。不管怎樣,她還手握著六次罰時的領先優勢,怎麽說都比其他人占先機,大不了,大不了她還曾做出過去年最難的那道真題,怎麽就不能和今年的出題人掰手腕!

她的目光移向最後那兩道題。

竇凱航說:“你先挑。”

之所以會被留到最後,當然就說明它們在一輪一輪的選題中都被判定為沒把握,怕耽擱時間才一再往後推移。它們鋪展在洋洋灑灑的兩頁紙間,旁邊寫著她簡筆概括的題意。

【A題:貓鼠游戲】

【給定一條直線上的N個點,湯姆和傑瑞約定輪流刪去一個點,直到剩下兩個點為止,作為各自的家。湯姆希望最後兩個點的距離盡可能小,傑瑞希望最後兩個點的距離盡可能大,湯姆先手刪點,求最後兩個點的距離。】

[註:2≤N≤20000,且N為偶數。]

【I題:數字迷局】

【給定質數P。求不大於它的最大質數Q,輸出Q! mod P。】

[註:1e9≤P≤1e14。]

大概有半分鐘那麽長的時間,林瓏閉著眼在快速默算,猶如長河般的數學定理在光線裏淌過沙灘。然後她擡眸:“我選I。”

“行。”竇凱航幹脆地拿走那道A題,筆尖一劃已經開始在新一張白紙上書寫,“博弈論這道交給我。”

林瓏看向自己的這道數論。

計算機是一門建構在數字之上的藝術,而數學是一切程序和算法的基石。在上古流淌下來的數學長河中,有無數名字在其中光華璀璨。在她如今涉水而過的這一分支中,浮現著四座金色的島嶼,歷經無數朝代,凝結著天才之巔的智慧閃光。它們被稱為,數論四大定理。

威爾遜定理,歐拉定理,中國剩餘定理,以及,費馬小定理。

費馬小定理稱,當p為質數且(a,p)=1時,a^(p-1)≡1 (mod p)。

威爾遜定理稱,當且僅當p為質數時,(p-1)!≡(p-1)(mod p)。

……

暑假時為了不掛科而努力預習一切,入隊後為了通過訓練而像夢一樣被激發的直覺,這些天為了第一場正式比賽而拼命學拼命練的日夜,全部化為紙上的算式和手下的代碼,她不知道竇凱航什麽時候去交的A題,不知道排行榜又有沒有新的變化,不知道比賽還剩多少時間,只有閃爍的光標和延展的字符,一點點拼湊出答案和光的輪廓。

然後在某一個瞬間,按下提交鍵。

04:47:55,I題過,全套AC。

是屬於他們的第一個AK之夜。

當比賽結束的鈴聲在禮堂響起,林瓏仰頭望著他們的名字出現在大屏,四面八方是一張張陌生的面孔,和潮水般的要把人淹沒的聲浪,可她眼前是那一夜她第一次上天臺,和夜風裏他望過來的一瞬間。不知從什麽時候起,曾經的很多心情慢慢遠去,她仿佛放下了一些東西,又遇見了另一些,它們在歲月裏沈澱,慢慢累積,漸漸成為了可以驅散迷霧的東西,閉上眼聽得到回聲。

都說只有小孩子盼長大,可是她在將滿十八歲的年紀,終於不再畏懼成長,像是松開了枷鎖,終於明白什麽叫長大的快樂。曾經“長大”這個詞是讓她焦慮的信號,年齡又長大一天,父母的耐心又下降一點,可那個膽怯沒用的自己卻沒有一絲絲改變。大一好像是一個重要的人生節點,她像是高速生長的竹筍,每一天都在經歷脫胎換骨的改變。也遇波瀾,時有風雨,可一路跌跌撞撞,也一路日新月異地追光。

也許她還是學不會活潑交際,也許她終其一生也比不上秦文衣的大方明麗,可是在這一刻,她想她終於開始看到,朝陽冉冉升起的遠方。

本站無廣告,永久域名(fanyan.cc)