聊完美國和印度,現在來聊聊俄羅斯。說到俄羅斯,在程式競賽方面最厲害的大學就屬莫斯科大學 (Moscow State University) 以及聖彼得堡機械與光學大學 (ITMO) 這兩間學校了。而現在線上程式解題競賽最大社群 Codeforces,正是由 ITMO 的競賽選手們協助維護的 [維基百科]。
其中 Codeforces 的創辦人 —— Mike Mirzayanov (LinkedIn),目前是 Codeforces CEO,更曾經任教於 ITMO 教授網站設計課程,與指導 ITMO 選手的競賽培訓工作。在此之前,Mike 任職於俄羅斯的薩拉托夫國立大學 (Saratov State University, SGU),進行程式設計推廣的工作,也協助培訓了許多俄羅斯的資奧選手。
說到薩拉托夫國立大學,大家想必對這個名字非常陌生。但事實上,在 2010 年 Codeforces 成立之前,俄羅斯有兩大線上程式設計評測系統,其一是由俄羅斯的烏拉山聯邦大學架設的 Timus Online Judge,其二便是號稱題目重質不重量的 SGU Online Judge。這兩個線上評測系統儘管古老,但搜集了非常非常多考古題與優質題目。由於烏拉山聯邦大學每年都會負責 ICPC 的『烏拉山區域賽』,因此 Timus Online Judge 上面集攢了非常多 ICPC 的考古題,題目難度不一且為數眾多。我對於 Timus Online Judge 印象最深刻的,除了(以當年眼光)看起來他們的解題介面很舒服以外,還有他點入題庫的頁面最上面,有一段振奮人心的座右銘——
For every problem, there is a solution which is simple, fast, and wrong.
— The First Law of Online Judges
反之 SGU 的題目很多是被用來培訓高中的 IOI 國手的,因此題目雖較少,但普遍難度較高,平均每題需要花費的精力不在 Timus Online Judge 之下。當年筆者在大學參加程式解題競賽時,我們隊伍便是以寫完 SGU 為目標,我記得約莫 ~350 題裡面我們很努力地在半年之內解掉了將近 ~300 題,剩下每一題都是要嘛難到炸或是煩到炸。
2013 年 Codeforces 正式宣告他的參賽人數超越 Topcoder 了。而緊接著在 2015 年,SGU 的線上評測系統也遇到了前所未有的斷線狀態。由於題目真的太精彩了,經過一番努力後成功地將 SGU 的題目移植到 Codeforces 上面,我相信同時參與過兩個平台維護的 Mike Mirzayanov 功不可沒。
Codeforces 拉過各式各樣的贊助,包含知名通訊軟體 Telegram 等。他們也曾經在五週年、八週年與十週年公開拉過小額贊助。願意贊助的企業,只要出夠多錢,就能夠掛名其中一場 Codeforces 常規賽事,以打廣告的效益來說其實是相當大的,畢竟看到的人都是程式解題的箇中好手。其實有這樣一個超級高度國際化的程式解題競賽社群,真的是很不容易的一件事情。
Update: 感謝張集貴指出我 Timus Online Judge 拼錯字啦~~~ 已修正~