編者按:北京大學120周年校慶系列活動之一、第42屆ACM-ICPC國際大學生程序設計競賽全球總決賽即將於2018年4月15-20日在北京大學舉行。本屆大賽共有49935名來自全球六大洲111個國家和地區、3098所高校的選手報名參賽。其中,來自51個國家和地區的140個團隊從各大洲區域賽中脫穎而出,晉級全球總決賽。
北京大學有一支隊伍出戰本次全球總決賽。這支隊伍由信息科學技術學院2016級本科生吉如一、信息科學技術學院2017級本科生洪華敦、數學科學學院2017級本科生丁力煌三位同學組成,信息科學技術學院特聘研究員羅國傑博士擔任教練。
北京大學官方微信記者有幸採訪到了第40屆ACM-ICPC選手、信科2013級本科生李煜東和信科2014級本科生沈洋。讓我們跟隨他們的腳步,走近ACM。
結緣ACM
理科一號樓1318機房跟北大同學通常去的機房有點不大一樣。幾張大桌子上各擺放著一臺寬屏電腦,旁邊雜亂地堆著大疊草稿紙。這裡是歷屆北大ACM-ICPC選手日常訓練的地方。走進機房,聽到的是大家熱烈討論的聲音,還有手指飛快敲擊鍵盤的響聲。電腦顯示的題目界面上隨著敲擊蹦出一行接一行的代碼,難以想像,在幾分鐘之後,眼前的各種字符、字母經過計算會順利地導出一個漂亮的結果。1318機房迎來又送走了一屆屆ACM-ICPC的選手,見證著他們的汗水、緊張與喜悅。
理科一號樓1318機房
散落在桌上的草稿紙,上面是ACM的訓練題
ACM-ICPC國際大學生程序設計競賽由國際計算機協會(ACM)主辦,是世界上規模最大、水平最高的國際大學生程序設計競賽之一。比賽時間為5個小時,所有題目均以英語寫出。同隊的三名選手可以使用C、C++、Java、Python2、Python3和Kotlin語言在一臺計算機上共同解決7到13個生活中的實際問題。競賽依據參賽各隊解出問題的數目以及總用時排名。
北京大學與ACM大賽的緣分始於2000年。從2002年開始,北京大學每年都有代表隊參與比賽。2005年,北大代表隊首次進入全球總決賽,此後一直未曾缺席,並於2014年在全球總決賽中獲得金牌(第三名)的歷史最好成績。
「我們三個高中時都是打信息競賽的,所以很早就認識了。我和丁力煌還是一次比賽時打『狼人殺』認識的。」回憶組隊的經過時,洪華敦笑著說。儘管在大學裡還是「新生」,但從初中就開始接觸計算機的參賽選手們早已是信息競賽領域身經百戰的老將,參加ACM大賽成為了他們上大學後順理成章的一個選擇。同時,這也是三人彌補高中與信息競賽國家隊失之交臂的遺憾的一種方式。隊長吉如一補充:「我其實去年也參加了ACM,只拿了全球總決賽的銀牌,有些不甘心。今年是我能參加比賽的最後一次機會,所以不想錯過。」
第42屆選手在區域賽領獎的照片(從左至右分別為丁力煌、洪華敦、吉如一)
未竟的夢想鞭策著三人不斷努力訓練。開學以來,他們會在每天下午兩點半到七點半雷打不動地出現在1318機房進行訓練;剛剛過去的寒假裡,三人在學校一直待到過年前一個星期才回家。採訪當天,三人剛剛結束在俄羅斯聖彼得堡國立信息技術機械與光學大學(ITMO University)舉辦的訓練營,還沒倒過時差來。按照隊長吉如一的話說,他「拿著刀子都得逼著他們訓練」。
天賦和努力,似乎是每一屆優秀選手身上必不可少的兩種特質。當被問起「選手獲獎最關鍵的因素」時,羅教練不假思索地答道——奪冠的野心。「他們要有強烈的、想要登上最終領獎臺的意識。他們的目標和動機會體現在日常的訓練中,比如投入在這上面的時間、每次訓練結束後的總結等等。在日常課程壓力下,選手們還能以極高的熱情為比賽付出這麼多時間和精力,這是很不容易的。」
準備比賽固然艱辛,但三人實際上也在「苦中作樂」,享受這一過程。到瀋陽和新疆參與區域賽、前往俄羅斯訓練的經歷不僅讓他們體驗了不同地方的風土人情,更得到了與頂尖選手們交流的機會。「有時你不敢相信,比賽時你的前後左右都是論壇上被膜拜的大神,Codeforces(一家為計算機編程愛好者提供在線評測系統的俄羅斯網站)排名前三的大神站在黑板前給你講題目,甚至最後你還能跟他成為很好的朋友。」
與俄羅斯選手的合影
第40屆選手沈洋最早在小學時就接觸到了計算機。「我爸是學計算機的,所以我家很早就有電腦。我四五年級的時候老喜歡玩電腦遊戲,我爸看不下去了,就讓我去學編程。當時都是個人開發者在編電腦程式,我就覺得很厲害,自己也想編個程序。」高中時期,沈洋也為信息競賽付出了很多,「那時候我每天待在機房裡刷題,直到拿到NOI的獎牌。」
ACM的參賽經歷對於站在畢業和工作時間點上的兩人而言不僅僅意味著簡歷上的一個閃光點。比賽結束後,李煜東還寫了一本跟ACM競賽有關的書:《算法競賽進階指南》,「也算是為後來人提供了一點自己的較為系統性的總結吧。」
李文新領隊和第40屆選手在賽場(前排從左至右分別為沈洋、章玄潤、李煜東)
ACMer在北大
北京大學信息科學技術學院正式成立於2002年,最早可以追溯到上世紀50年代數學力學系的計算數學專業和物理系的無線電物理、電子物理、半導體物理專業。學院現在有計算機科學與技術、電子科學與技術、信息與通信工程、軟體工程4個一級學科,教職工398人、全日制學生2667人,是北京大學規模最大的教學單位。
談到最初選擇北大信科的原因時,沈洋和李煜東都表示,他們非常欣賞北大信科「支持每一個學生自由發展」的理念。「就好比我們打ACM比賽,學院的培養方案是,你不能單搞ACM,你別的方面的經歷也得和其它同學一樣豐富。」北大和信科支持學生多線、多元發展,給了學生更多的想像空間。「如果你是讀PhD、走學術道路的苗子,學院有暑期學校和很多出國交流的機會,讓大家能參加國際上的大型會議、發表文章,為以後的申請做好鋪墊;如果有同學一入學就是奔著ACM比賽來的,有明確的拿到一個好名次的目標,學院也會在課程設置等方面儘量減少大家的壓力。」
據羅國傑教練介紹,為了使參賽選手們的時間投入「珍貴化」,學院在不同時期為同學們配套了相應的課程。比如暑期訓練有2學分的課程,區域賽的訓練和成績相當於4學分的課程,總決賽是6學分的課程。
回首在北大信科度過的四年時光,兩名同學感悟很深。沈洋認為,在北大四年於他是一個開闊眼界的過程。他從前覺得努力考到好學校就成功了,「理想」這個詞離自己很遠。但來到北大,遇見許多優秀的同學與老師、見到更大的世界後,自己慢慢有了新的思考和想法。
讓沈洋頗有感觸的是,自己的四年大學生涯裡,每一年做的事情都是完全不一樣的。大一時他想做一名「碼農」,工作穩定,工資也高;後來隨著見識增多,逐漸覺得這種選擇缺乏挑戰性,於是沈洋的目光開始轉向科研,因為它「可以改變世界」;一年的學術生涯後,他又看到了新的機會:無人駕駛。「難得的是能夠在畢業的時候遇到某個行業的爆發期,我不想錯過這個好機會。」現在的他已經拿到了理想工作的offer。「在北大,每個人都有很多嘗試的機會,能夠真正根據自己的興趣和特長找到自己的可能性。最後就是如何發現有潛力的選項、在當下做出一個最好的選擇的問題吧。」
信科人也有「經世濟民」的情懷。許多北大信科的畢業生會選擇前往世界頂尖大學繼續攻讀碩士或博士學位,在科研的道路上不斷「拓寬人類的知識邊界」;也有許多同學會選擇創業,改變著人們的日常生活與習慣。沈洋認為,信科人應該堅定自己的興趣,不隨波逐流、人云亦云。另外,現在時代和行業的發展變化很快,信科人也要不斷提高自己,跟上時代的步伐。
展望ACM
今年是羅國傑擔任北大ACM競賽教練員的第六年。六年間,羅教練遇到了形形色色的參賽選手。在他看來,北大的學生「越來越聰明了」。接受採訪時,他談到,儘管在ACM全球總決賽中拿獎的難度較大,但他希望能看到更多信科以外的同學參與進來,同時也希望大家能擺脫「有競賽背景才能參加ACM比賽」的思維定式,因為有些同學在這方面的才能在大學時期才表現出來。今年參賽的三名選手中,就有一位同學來自數學科學學院,這讓羅教練感到很欣喜:「我希望理工科的同學,甚至人文社科方向的同學也能多多關注和參與我們的比賽,從而提高北大ACM參賽選手的多樣性與比賽的普及度。」
第40屆選手們的氣球和獎盃
(文/施林彤、程格格、王瑩潔、張豐哲 圖/受訪者提供)
編輯:山石