上午9:45,距TopCoder四川大學第一屆挑戰賽開賽還有15分鐘。可是作為本次大賽組織者和參賽選手的黃高瑋,卻還在會客室里接受采訪。盡管筆者一再催促他快去準備比賽,但是在這位帥氣的大男孩臉上,卻找不到絲毫的緊張與焦慮。直到有條不紊地安排好接待工作以后,他才放心走進賽場。
他有充分的理由如此自信, 從四川大學大學生程序設計競賽,到四川省首屆大學生程序設計競賽,再到TopCoder、A CM這類國際大學生編程大賽,黃高瑋可謂是身經百戰,且場場都是滿載而歸。他破解了TopCoder上數十道難題, 贏得了ACM2006年亞洲賽區銀獎,進入了TopCoder國際排名的前500強,現在還是四川大學ACM的負責人。而本次挑戰賽,他也以領先第二名整整一倍的分數得到了冠軍。在許多師弟師妹的眼中,黃高瑋就是他們的偶像。可他自己卻十分謙虛。他總是說:“與國際上的編程高手們比,自己實在太弱小了,我只能努力努力再努力,才能真正編出屬于自己的天地。”
與ACM的偶然結緣
ACM和TopCoder比賽,在編程愛好者中可以說是無人不知,無人不曉。但是在上大二以前,黃高瑋還完全不知道它們是什么東西。中學時的他,最癡迷的學科是物理,從來就沒有接觸過程序代碼之類的東西,電腦對他來說就是一個聊QQ的工具。黃高瑋曾經最大的夢想,就是成為物理學領域的領軍人物。為此,他在高考的志愿表中填入了“四川大學物理學專業”,可是最后的結果,他卻被調劑到了計算機學院。當時,黃高瑋只有一個想法,那就是大二時一定要轉專業!
可是真到了大二, 他不但沒有轉專業,還把這個想法完全拋棄了。“2006年3月,我被編程迷住了。”黃高瑋非常強調這個時間,因為這幾乎是他人生的轉折點。那次,黃高瑋只是無意間聽了場關于ACM比賽的講座,之后隨便翻了本和算法有關的書。沒想到,他卻意外地發現里面的思維方式和自己所鐘愛的物理學是如此的相似,那種從一個具體問題層層抽象的邏輯過程再次喚醒了他的激情。黃高瑋最后將那本書整整看了六遍,還到處搜集編程高手們的報告、日志,研究各種經典算法,將自己全部的精力都投入到程序設計當中。
黃高瑋總是抱怨ACM把自己變成了一個“壞學生”。“我大一的時候天天上自習,可是現在,在自習室里連一個小時都呆不下去,因為無論看什么書,腦海里浮現的都是各種各樣的程序代碼。”為了彌補自己起步晚的缺陷,黃高瑋每天要在電腦前坐上十多個小時,餓了就隨便啃兩口面包,困了就趴在桌上小睡一會,在同學的眼中,他已經成了個“編程狂人”。
兩個月的努力沒有白費,在2006年5月舉辦的四川大學第五屆大學生程序設計競賽中,黃高瑋獲得了二等獎。而這次比賽實際上可以看作是ACM國際大學生程序設計大賽的預選賽。200多位選手中,只有20名能進入學校的ACM集訓隊,黃高瑋便是其中的一員。
從“門外漢”到“小教主”
在進入集訓隊之前,黃高瑋憑著一股子激情和努力初露頭角。可是自學始終不夠系統,再加上資源的限制,黃高瑋走了很多彎路。獲得ACM專業化的訓練一直是他的夢想,而集訓隊正是這個夢實現的地方,他知道自己大展身手的機會來了。
ACM/ICPC的中文全稱是國際大學生程序設計競賽,是世界上規模最大、歷史最長、影響最深遠的全球性計算機專業競賽。而ACM集訓隊就是我國各高校應戰這一賽事的訓練基地。
四川大學的ACM集訓隊素來都被稱為“魔鬼訓練營”,特別是最后為期十天的強化階段。隊員們每天要參加兩場比賽,每場五個小時,而且每次比賽后都要進行討論總結,爭取每個隊員都做過所有的題目。每期都有隊員堅持不下來,中途離隊。可對黃高瑋來說,十天的高強度作業,不但沒有擊退他對ACM的激情,反而是讓他發現了一個更為五彩繽紛的代碼世界。黃高瑋就像是一塊海綿,拼命地吸收著他所能觸及到的每一份知識。他每天都輾轉在各大ACM網站,在線做題,在線測評。正是這樣的努力,使黃高瑋成長的速度異常驚人。他只用了短短六個月的時間,就使自己從一個對編程一知半解的門外漢,變成了ACM集訓隊中最出色的成員,進而成為了四川大學ACM集訓隊的隊長,而這在整個四川大學中是從沒有過的。
2006年12月,黃高瑋不負眾望,拿下了國際大學生程序設計大賽亞洲賽區的銀獎。
在同學們眼里,黃高瑋就是個天才,他們常常開玩笑說:“在ACM領域,我們的黃教主千秋萬代,一統四川。”聽到這個戲稱,黃高瑋總是笑得很謙虛,他知道天賦雖然重要,可真正支持自己一路走來的卻是那份不懈的努力與執著的喜好。“我覺得最幸福的,并不是獲得很多的獎項,而是真正找到了自己喜歡的東西,很慶幸我找到了。”
編程就是種休閑
對于黃高瑋來說,ACM集訓隊的生活是場不折不扣的洗禮。每天的訓練不僅使他的編程水平有了突破性的提高,還加深了他對團隊精神的理解。比起大二時那個滿是激情的男生,現在的黃隊長更多了一份責任感。除了保證自身編程水平的不斷提高外,黃高瑋承擔了ACM集訓隊的所有培訓工作。在2007年暑期的集訓中,20多天的課程全部由他一人主講。而此后,TopCoder國際在線編程大賽也選中了黃高瑋為四川大學的負責人,許多外校的編程愛好者也相繼邀請他去做講座。此外,他還擔任了四川大學機器人足球協會競賽部部長,計算機學院科技創新中心競賽部部長,以及藍色星空論壇的版主。
在眾多的光環里,黃高瑋似乎是一個永遠不會停下的陀螺。即使每天花十幾個小時編程,他還是能有充足的時間和精力處理好其它的事情。“其實這也沒什么奇怪。在別人眼里編程是件很累的工作,而在我看來它就像吃飯睡覺一樣自然,又有誰會覺得吃飯睡覺是件很累的事呢?”對許多學生來說,休閑就是在網上下棋、打牌,而對黃高瑋來說,休閑是編一個程序幫他在網上下棋、打牌。編程對于他來說已經不是任務,而是生活。
黃高瑋把楚留香當成是自己的偶像,“我羨慕他那種瀟灑和自若。”雖然黃高瑋現在只是一名大三的學生,可是已經有不止一家公司希望他畢業后能過去工作。但黃高瑋對未來卻有著自己的想法,“我希望能做研發層面的工作,編出一套自己的搜索引擎。最重要的是能像楚留香一樣做本色的自己。”
一塊失敗的銅牌
從接觸編程到現在,黃高瑋始終覺得自己發展得十分順利,無論是入門時的困難,還是讀英文原著時的語言障礙,在他看來都是小菜一碟。就是遇到最難的題目,通過整整六個月的思考,他也用400行代碼將其解決了。可是2007年10月,國際大學生程序設計大賽亞洲賽區銅獎,這個很多人認為還不錯的成績,卻著實讓黃高瑋沮喪了一陣。
“我們的集訓隊要培訓出最好的隊員,在下次ACM比賽里拿金牌。”這是黃高瑋成為隊長后最大的心愿。可是2007年10月僅得到ACM亞洲賽區銅牌的成績,卻令他很不滿意。
黃高瑋是個完美主義者,他將這次比賽形容為在編程道路上的第一次失敗。“雖然在水平上我和隊員們都比去年提高了很多,但是卻忽略了配合的重要性,三個高手反而組成了一個弱隊。”黃高瑋在說這段話時,表情非常認真,從他那自信的臉上,我們完全有理由相信這次的“失敗”不過是為下一次的金牌做的“準備”。