GCJ 是目前為止舉辦最穩定,規模也最大的程式解題個人賽。這幾年的賽制都是資格賽、第一回合、第二回合、第三回合、決賽。為了能讓來自世界各地的人都能夠參加,除了有與 Hackercup 相同的 27 小時資格賽以外,第一回合的比賽也分成三場 (照顧不同時區) 執行,只要在任何一場比賽進入前 1500 名,就能夠進入第二回合的比賽。而第二回合的前 1000 名也能夠獲得當年度的 T-shirt 一件。除了開辦的 2006-2008 年其 T-shirt 相同以外,其餘每一年的 T-shirt 都會根據當年決賽城市,以各種程式語言的原始碼排列成當地著名的地標,相當有特色。原則上,能夠進入第三回合的參賽者們,都已經具備很強的競賽能力了,因此第二與第三回合的題目難度與品質都非常高。
Google 近年來除了 Code Jam 以外,另外有舉辦兩大系列的程式解題競賽—— Kick Start 與 HashCode。
https://codingcompetitions.withgoogle.com/kickstart
為了鼓勵大家多參與程式解題競賽,並且可以藉此機會頒發證書與提供就業機會,Google 從 2013 年開始,每一年都會舉辦八場公開賽 (Round A 到 Round H,每場比賽之間參賽資格並無任何關係),題目難度介於技術面試與程式競賽之間,品質也算是不錯。
https://codingcompetitions.withgoogle.com/hashcode
這個比賽比較接近比較短的 TCO 馬拉松,最早是在歐洲的 Google 分部開始流行起來的,然後流行到北美洲。題目通常很少,預賽和決賽可能各自只有一題。題目通常會是一個比較接近真實(但是稍微簡化過)的情境,題目內容較為開放,評分標準也會以鼓勵大家想出各式各樣的演算法,在時間限制之內產生出品質較佳的解。
這個比賽從 2015 年到 2018 年舉辦後就再也沒有辦過了。以一個研究平行與分散式演算法的人來說,這個比賽停辦了有點可惜^^; 不過當年筆者也因此得以晉級 2016 年在紐約舉辦的決賽,趁機參觀了 Google 紐約的辦公室,辦公室內居然有滑板車可以代步,非常有意思。