周四晚上十點,程以寧抱著一摞中世紀經濟史的參考書從圖書館出來。秋夜的風帶著刺骨的寒意,她縮了縮脖子,把臉埋進圍巾里——這條深藍色的針織圍巾是周予白上周“不小心“落在她這里的。
手機在口袋里震動起來。程以寧騰出一只手掏出來看,是周予白的消息:“還在實驗室。遇到麻煩了。“
短短七個字,卻讓程以寧皺起眉頭。周予白很少用“麻煩“這個詞,即使是在最棘手的編程問題面前。她立刻轉向計算機學院的方向,腳步不自覺地加快。
計算機樓的燈光大多已經熄滅,只有三樓的幾個窗戶還亮著。程以寧刷卡進入大樓——周予白上個月給她辦了張備用門禁卡,說是“以防萬一“。空蕩的走廊里回響著她的腳步聲,偶爾能聽到某個實驗室傳來鍵盤敲擊聲。
312實驗室的門虛掩著,程以寧輕輕推開,看到周予白一個人坐在角落的電腦前,屏幕的藍光映在他疲憊的臉上。房間里還有另外三個男生,圍在另一臺電腦前激烈爭論著什么,空氣中彌漫著咖啡和泡面的味道。
“你來了。“周予白抬頭,眼睛下方的青色陰影在熒光下更加明顯。他面前的桌子上散落著幾張潦草涂鴉的紙和幾個空咖啡杯。
程以寧把書放在一旁的空位上,“什么麻煩?“
周予白揉了揉太陽穴,聲音沙啞:“比賽算法出了問題。明天就是截止日期了,我們的核心壓縮模塊效率不夠。“他調出一段代碼給程以寧看,“需要減少至少30%的處理時間,否則連初賽都過不了。“
屏幕上密密麻麻的代碼對程以寧來說如同天書,但她能看懂周予白眼中的挫敗。這是她第一次看到他如此接近放棄邊緣。
“其他人呢?“程以寧壓低聲音,瞥了眼房間另一端的隊友們。
“各自嘗試不同方案”周予白苦笑一聲,“但大家都到極限了。我們已經連續工作36小時。”
程以寧注意到他右手食指上貼著一個創可貼——肯定是連續敲擊鍵盤導致的磨損。一股莫名的心疼涌上心頭。她打開自己帶來的保溫杯,倒出一杯熱可可推給周予白。
“喝點這個,休息五分鐘,“她的語氣不容拒絕,“然后從頭給我解釋問題所在。也許外行人的視角會有幫助。“
周予白猶豫了一下,還是接過杯子。熱可可的香氣似乎讓他緊繃的肩膀稍微放松了些。“謝謝,“他啜了一口,嘴角微微上揚,“還是老配方。“
“加了肉桂粉,“程以寧點點頭,“你上次說有助于集中注意力。“
周予白喝完熱可可,深吸一口氣,開始用最簡單的術語解釋他們的困境。他們開發的是一種新型數據壓縮算法,但核心模塊在處理特定模式的數據時效率驟降。
“就像...“周予白尋找著比喻,“就像你有一倉庫雜亂無章的書籍,需要快速找到某本特定的,但目前的索引系統太慢了。“
程以寧若有所思地翻開了自己帶來的《中世紀修道院經濟管理》,“聽起來像是中世紀修道院圖書管理員面臨的問題。“
周予白挑眉,“怎么說?“
“十二世紀的修道院圖書館藏書量驚人,但修士們發明了一套高效的分類檢索系統,“程以寧快速翻到某一頁,指著一幅手繪圖,“看,他們不是按書名或作者分類,而是按照知識網絡——將相關概念用符號鏈接起來。“
周予白突然坐直了身體,眼睛緊盯著那幅古老的圖示,“等等...你是說他們用了某種...圖結構?“
“可以這么理解,“程以寧繼續解釋,“更妙的是他們的記賬系統——將重復出現的交易用符號代替,只在邊緣注釋具體細節。這樣一卷羊皮紙能記錄原本三倍的內容。“
周予白的眼睛亮了起來,他一把抓過旁邊的草稿紙,開始瘋狂涂寫。“天啊,“他喃喃自語,“我們一直在優化線性搜索...但如果將數據按關聯性重組,構建知識圖譜...“
程以寧看著他仿佛重獲新生的樣子,嘴角不自覺地上揚。周予白思考時有個小習慣——會用牙齒輕輕咬住下唇,右手的筆在紙上敲擊出急促的節奏。
“我需要重新設計數據結構,“周予白突然站起來,差點撞翻椅子,“寧,你簡直是個天才!“
他激動地抓住程以寧的肩膀,眼睛閃閃發光。那一瞬間,兩人之間的距離近得能感受到對方的呼吸。程以寧聞到他身上淡淡的咖啡香和某種清爽的須后水味道,心跳突然加速。
周予白似乎也意識到了這種親近,但他沒有立即退開,而是深深地看了她一眼,然后才松開手,“我...我得馬上開始寫代碼。“
“我能幫上什么忙?“程以寧問道,努力讓自己的聲音聽起來平靜。
周予白思考了一下,“那本書...能再多告訴我一些關于那個記賬系統的細節嗎?特別是符號替代的部分。“
接下來的三個小時,程以寧坐在周予白身邊,為他解讀中世紀文獻中的管理系統,而周予白則將那些千年以前的智慧轉化為現代算法。其他隊員陸續放棄了各自的嘗試,圍過來觀看這場奇特的“跨學科合作“。
“運行測試!“凌晨一點,周予白終于敲下最后一行代碼,聲音因為興奮而微微發顫。
所有人都屏住呼吸盯著屏幕。進度條緩慢移動,然后——
“通過了!“一個隊友大喊,“處理時間減少了42%!比要求的還要好!“
實驗室爆發出歡呼聲。有人拍打周予白的后背,有人高呼要請客慶祝。周予白卻轉向程以寧,眼中滿是難以置信的喜悅,“我們做到了。是你做到的。“
程以寧搖搖頭,“我只是提供了些舊紙堆里的想法,是你把它們變成了現實。“
周予白突然站起身,向大家宣布:“各位,今晚就到這兒吧。明天上午十點最后整合測試,現在大家都需要休息。“
隊員們陸續離開,最后只剩下程以寧和周予白。深夜的實驗室安靜得出奇,只有主機箱發出的輕微嗡鳴。
“餓了嗎?“周予白關掉電腦,“我知道校外有家面館通宵營業。“
程以寧點點頭,突然意識到自己除了下午的一杯酸奶外什么都沒吃。他們收拾好東西,周予白堅持幫她拿那摞厚重的參考書。
走出實驗室,走廊的感應燈隨著他們的腳步一盞盞亮起。周予白突然停下,“等等,我忘了拿U盤。“
他跑回實驗室,程以寧在走廊等候。這時,她聽到隔壁實驗室的門打開,一個熟悉的身影走了出來——蘇媛。
“這么晚還在學校?“蘇媛挑眉,目光從程以寧身上移到她身后剛沖出實驗室的周予白,再到他手中的書,眼中閃過一絲了然,“原來如此。“
周予白明顯僵了一下,“蘇媛?你在這做什么?“
“天文數據處理,“蘇媛晃了晃手中的硬盤,“沒想到會碰到你們...深夜密會。“她特別強調了最后兩個字。
程以寧感到一陣不自在,好像被撞破了什么秘密。雖然他們確實只是在工作,但凌晨兩點的獨處很難不讓人多想。
“編程比賽最后沖刺,“周予白語氣平靜,“程以寧幫了大忙。“
“是嗎?“蘇媛的目光在兩人之間游移,“歷史系的高材生懂編程?真是...意外的組合。“
程以寧直視蘇媛的眼睛,“中世紀經濟管理系統啟發了他們的算法優化。“
蘇媛愣了一下,隨即輕笑出聲,“聽起來像是周予白會喜歡的那種古怪冷知識。“她轉向周予白,“明天記得把最終版程序發我一份,我爸很期待看到你們的成果。“
說完這句意味深長的話,蘇媛優雅地轉身離開,高跟鞋在走廊上敲出清脆的聲響。
“她父親?“程以寧疑惑地看向周予白。
周予白嘆了口氣,“省計算機協會的副會長,也是這次比賽評委之一。“他頓了頓,“不過我們的算法經得起任何檢驗。“
他們沉默地走出計算機樓。夜空中繁星點點,秋風卷著落葉在他們腳邊打轉。
“對不起,“周予白突然說,“讓你卷入這種...復雜情況。“
程以寧搖搖頭,“每個領域都有它的政治,歷史學界也一樣。“她猶豫了一下,“你和蘇媛...?“
“只是同學,“周予白迅速回答,“高中時同校不同班,沒什么交集。“他看了程以寧一眼,“不管她暗示什么,都只是她一廂情愿的想法。“
程以寧感到胸口一塊無形的石頭落了地。他們走出校門,來到那家通宵營業的面館——“老張牛肉面“,招牌已經褪色,但店內溫暖明亮,幾張木桌邊零星坐著幾個夜歸的食客。
周予白點了兩碗招牌牛肉面,外加一碟泡菜和兩個茶葉蛋。“這里的老板是我老鄉,“他低聲解釋,“我大一熬夜寫代碼時發現的寶藏。“
熱騰騰的面很快上桌,湯頭清澈,牛肉片得極薄,蔥花翠綠地點綴其中。程以寧喝了一口湯,鮮美的滋味立刻溫暖了她的全身。
“今天真的謝謝你,“周予白認真地說,“不只是為了算法。你來了...我很高興。“
他的眼神在面館昏黃的燈光下顯得格外溫柔,程以寧感到臉頰發熱,低頭攪動面條,“我很開心能幫上忙。雖然我對代碼一竅不通...“
“但你懂更重要的東西——如何思考,“周予白夾了一個茶葉蛋放到她碗里,“你知道嗎?最好的程序員其實都是人文學者。喬布斯學書法,馬庫斯研究心理學...技術只是工具,理解人性才是關鍵。“
程以寧咬了一口茶葉蛋,鹵香四溢,“所以你是說,我這個書呆子終于有點用了?“
“你一直都有用,“周予白的聲音突然變得異常認真,“對我而言。“
面館的掛鐘指向凌晨三點,但程以寧絲毫不覺得疲倦。他們聊著中世紀的抄寫員如何工作,聊著即將到來的編程比賽,聊著周六要去的舊書店...時間仿佛被拉長又壓縮,直到老板開始收拾其他桌子,他們才意識到天邊已經泛起微光。
“該回去了,“周予白付完賬,幫程以寧拿起那摞書,“你上午有課嗎?“
“十點的中世紀史,“程以寧打了個小哈欠,“不過應該撐得住。“
他們走在晨光熹微的校園里,第一批晨跑的學生已經出現在操場上。到女生宿舍樓下時,周予白將書還給程以寧,兩人的手指在書脊下不經意地觸碰。
“周六見?“周予白微笑著,眼下有淡淡的陰影但精神看起來很好。
程以寧點點頭,“九點,校門口。“
周予白做了個他們之間的專屬手勢——手指輕點太陽穴,然后指向她。程以寧回以心形手勢,這次更加自然流暢。
回到宿舍,程以寧輕手輕腳地洗漱,盡量不吵醒熟睡的室友。她躺在床上,回想這一夜的種種——周予白專注編程時的側臉,解決問題時的喜悅,還有他說“對我而言“時認真的眼神...
手機震動了一下。周予白的消息:“睡了嗎?剛剛上傳了最終版程序。再次感謝你,我的秘密武器。“
程以寧將手機貼在胸前,嘴角不自覺地上揚。窗外,第一縷陽光已經越過地平線,為云層鍍上金邊。她閉上眼睛,夢境里滿是代碼與羊皮卷交織的奇異圖景。