016. 一血

投票推薦 加入書籤 小說報錯

  「太變態了,太變態了……」一大早,彭峰就占著郭曉川的機位,盯著POJ個人頁面喃喃自語。

  「起開,上趟廁所的功夫,你就神經了?」郭曉川推開他。

  「就一晚上啊!『簡單題』、『枚舉』、『模擬』、『貪心』,四個專題 30道題,你全刷完了?」彭峰仍陷在震驚中。

  「本來也不難,有的還是集訓前做的,你靜下心也可以。」郭曉川邊說邊擠回座位,「下一個『動態規劃』,那才叫人頭大,一點思路都沒有。」

  「我?我可不行,再給我一星期也不行。」彭峰撓頭。

  「男人不可以說自己不行,」郭曉川鄙視地眯了下眼,「一到機房就開小說,給你一個月也夠嗆。」

  「不看了不看了,」彭峰關掉網頁,打開OJ,忽然扭頭沖郭曉川笑起來,「等哪天你寫一本 ACM題材的小說,我一定給你送月票。」

  「你說的啊,我說不定真的寫。」郭曉川抬頭笑了一下,「現在那些青春片不是抽菸就是墮胎,就該讓他們看看咱們工科學霸的青春什麼樣子。」

  「舉雙手雙腳贊成!」彭峰立馬附和。

  沒安靜兩分鐘,他又湊過來:「咦?你怎麼改用CodeBlocks了?我跟不上你節奏啊。」

  「這月查編譯器資料,才發現這些軟體的編譯器版本差不少。」郭曉川邊寫代碼邊解釋,「VS太龐大,很多比賽都沒有,其它軟體都是基本停更狀態。現在正式比賽標配 CodeBlocks,C++也兼容 C語言語法,早點適應沒壞處。」

  「行,那我也換。」彭峰說著就開始搗鼓軟體。

  沒過一會兒,他又開口:「我昨晚琢磨著中午咋辦,要是騎自行車……」

  「有完沒完了,做題!」郭曉川無情打斷,頭也沒抬。

  彭峰訕訕閉嘴,對著屏幕上「簡單題」的第三題發起呆來。

  刷題的時間過得飛快,做完兩道題就已中午。三人組在教工食堂湊到一起,又聊起中午機房鎖門的事。

  「我覺得騎自行車往返速度應該還行。」彭峰又把剛才的想法拎了出來。

  郭曉川一臉嫌棄道:「你騎過沒?從本部回南校是爽,但南校到本部這一路全是上坡,來兩次你就得瘋。」

  「我就拋磚引玉嘛。我也想到這個問題了,不行就站起來蹬……」彭峰聲音越說越小,忽然又想到什麼,「不過陳小燕從湘和校區大老遠過來,還是沒處去。」

  「我覺得走廊里看書還好啊。」陳小燕無所謂的樣子。

  「看書的話,圖書館自習室更好,還有空調。」郭曉川提議。

  「看書我沒問題!圖書館小說還挺全的,就是沒網絡小說。」彭峰趕緊附和。

  「一會兒吃完飯去轉轉,看看有沒有空位。」郭曉川拍板。

  飯後三人溜達到教工食堂旁的本部圖書館。剛進大廳,郭曉川一拍大腿:「這不現成的機房嗎?把這茬給忘了。」

  郭曉川大一上半年沒買筆記本電腦的時候,經常在二教的電腦室學編程,周末比較空閒時,偶爾也會來校本部的圖書館電腦室,那次偶遇尹南巍學長,受指點第一次知道 OJ,就是在這裡。

  「還真是,自己電腦用久了都忘了圖書館有機房。」彭峰跟著點頭,「跟南校一個價不?」

  「嗯,一塊錢一小時,離得近,有空調,還沒人抽菸,比校門口網吧強多了。」郭曉川望著空蕩蕩的機房說。

  暑假的圖書館機房幾乎沒人,格外安靜,確實是中午集訓機房鎖門時的好去處。

  郭曉川埋頭刷題,彭峰東點西點地在網上瞎逛,陳小燕時而修修自己正在開發的軟體 bug,時而也順手點開幾道題看看。中午時光靜靜流淌,冷氣裹著淡淡紙墨香,成了星城酷暑里最舒服的秘密基地,窗外聒噪的蟬鳴都仿佛變得溫柔起來。

  第一場個人賽很快到來,短短兩天似乎刷了不少題,但又並沒感覺學到什麼新東西,就讓比賽來檢驗一下吧。

  三道簡單題砍瓜切菜,郭曉川的名次很快又衝到二十左右。他心裡清楚,如果像上次那樣後半程卡殼,名次很可能又掉回三十開外。

  此時排名頁上有一題格外扎眼,交題的人一大堆,似乎不比前三題難,但清一色飄紅,全是結果錯誤。

  點進去查看,是道字符串處理題,輸入格式亂得離譜,空格、制表符、換行符混作一團,一看就是那種稍不留神就會栽跟頭的陷阱題。


  好在並非無從下手。指尖落上鍵盤,思路比校賽時清晰不少。`fgets`、`getchar`、`scanf`、`%s`對這些特殊符號的作用效果熟稔於心,這段時間翻編譯器資料的功夫還真有點用。

  信心滿滿提交,卻猝不及防跳出一個WA。

  「這也能錯?」他小聲嘀咕,迅速反應過來問題所在。稍作修改再次提交,評測隊列中跳出一行無比美麗的「Accepted」。

  全場第一個過這道題,排名頁剛一更新,機房四處響起一陣騷動的噓聲。

  排名一躍升至第 15,郭曉川暗暗攥拳,給自己鼓了鼓勁。

  可惜後續的題沒什麼頭緒,只能翻著資料碰運氣,卻沒再找到突破口。

  比賽結束,那道折磨了全場大半時間的題,最終只有蘇明等幾個前排隊員和郭曉川通過。

  最終排第 20,比上次進步不少。

  「長本事了啊,竟然拿了個一血。」肖樂不知什麼時候又出現在身後。

  「啥一血?打刀塔呢?」彭峰一臉懵。

  「每道題第一個做出來的就叫拿一血,這都不知道。」肖樂微揚下巴,又開始顯擺。

  陳小燕也走了過來:「E題怎麼過的?看著就是道簡單字符串處理,可我怎麼寫都 WA。」

  彭峰瞥見陳小燕,又瞄了眼肖樂,頓時明白這傢伙為啥杵在這兒不走了。

  郭曉川清了清嗓子,準備給隊友好好講講:「首先得補上校賽時沒搞定的點——題目沒給數據組數時,要判斷文件結尾,不然程序會一直等輸入,不是 RE就是 TLE。」(RE:運行錯誤, TLE:運行超時)

  陳小燕輕輕「啊」了一聲,似乎清楚了校賽時糾結了很久的問題。

  「咋判斷?」彭峰追問。

  「`scanf`判`EOF`或者`fgets`判`NULL`」,肖樂搶答,又催促道,「說點有用的。」

  「幾個字符串以及字符相關的函數各有特性,在不同版本的編譯器里表現也不一樣,有可能出現這個 OJ正確,另一個 OJ錯誤的情況。」郭曉川繼續解釋,「所以必須實現一種兼容寫法」

  不知不覺周圍聚攏了些人,都好奇這道「神題」要怎麼過。

  郭曉川沉浸其中,並未察覺身旁的圍觀,還在盯著眼前的幾人繼續。

  他在運行窗口輸入了一組自己編的樣例:「看,用傳統寫法輸入,輸出就是錯的。」

  「哦!原來輸入還可以是這樣。」陳小燕發現了自己的盲點。

  肖樂站在一旁,表情微動,仍裝作漫不經心,腳卻沒挪地方。

  「這是我一開始的代碼,本來以為夠兼容了。」郭曉川打開一個代碼文件,「結果第一發還是 WA了。」

  「都這樣了還錯?這題也太神經了吧。」彭峰對著代碼嘖嘖感嘆。

  「我隨即想到,就算代碼寫得兼容了不同編譯器,但評測機數據是 Windows還是 Ubuntu生成的仍然說不定,它們換行符不一樣,結果照樣會出問題。」郭曉川用滑鼠圈選了代碼的關鍵一行。

  「臥槽!」肖樂低聲驚嘆,隨即迅速站直,假裝無事發生。

  「我繼續往代碼里堆兼容的思路,就 AC了。」郭曉川講完,周圍短暫安靜了一瞬。

  彭峰接過滑鼠,在兩份代碼和題目頁之間來回切換,臉上是難以掩飾的震撼。

  「專家!厲害!學到了!」陳小燕連夸三聲,「我去試試。」說著轉身回自己座位去了。

  郭曉川轉過去想看看肖樂的反應,卻發現人早已溜走,這才注意到周圍正在散開的眾人。

  「可以啊川哥,今天都開起講座了。」彭峰看了看四散的眾人說道,「這麼變態的題,蘇明他們幾個居然也扛得住,真是群怪物。」

  「說不定對人家來說是基本操作呢。」郭曉川望著前排的背影,「同樣是大一,真不知道他們怎麼學的。有機會得好好請教請教。」

  「郭曉川。」一個熟悉的女聲從身後傳來。

章節目錄