Google Code Jam 賽制介紹

解題 / 大小測資

每題有分大小測資,解題時下載輸入測資檔,並上傳輸出答案
我習慣使用 出入重導向 的方式,或者也可以直接在程式碼裡面寫成 file i/o
小測資 下載後必須在4分鐘內上傳答案,若答案錯誤或超時未上傳,會被加4分鐘的penalty(如果最後這題AC的話),上傳後會立刻知道是否正確
大測資 下載後必須在8分鐘內上傳答案,賽後才會知道是否正確,只有一次下載測資的機會,如果8分鐘內上傳了第一次後自己發現程式有bug,可以再上傳,但如果超過了8分鐘就再也不能改了。大測資只有一次機會,所以有不用想penalty的問題
比賽中需上傳輸出檔和程式碼,但只judge輸出檔是否正確

scoreboard

從首頁可以進到scoreboard,以下介紹排名方式
以分數排序,每一題有不同分數,大小測資也有不同分數
同分時,比Penalty,Penalty為 最後一個AC的時間 + wrong try的數量 * 4分鐘

賽制

分為 Qualification Round, Online Round 1,2,3, Onsite Finals,可以在Schedule頁面看到
注意下面的日曆為太平洋時區,別搞錯了,建議加到自己的日曆,這樣他就會自動轉換成台灣時間了

Qualification Round

可以寫27個小時,不需要熬夜比賽,只要解出30分(2016)就能晉級Online Round 1 (每年晉級需要解出的分數可能不一樣,在scoreboard上面會有一行寫出要解幾題)
這場能否晉級是看分數,所以排名並不重要,但排名方式一樣會和上傳時間有關,如果希望排名前面的話可以在比賽一開始就來寫

Online Round 1

分為A,B,C三個Sub Round,只要其中一場進前1000名就能晉級Online Round 2
其中可能有幾場在半夜,某幾場在白天,如果很有信心能進1000的話當然能選白天的比。以我來說是三場都比,前年(2014)就在最後一場晉級Online Round 2

Online Round 2

不像Round 1有分Sub Round了,很可能需要熬夜比賽
在3000人中前500名可以晉級Online Round 3,前1000名可以得到Google的T-shirt

Online Round 3

前25名可以晉級Onsite Finals

Onsite Finals

在矽谷Google現場比賽

雜記

從首頁左邊 Practice and Learn 可以看到考古題和以前的scoreboard,也可以下載別人的程式碼看他的解法

FAQ

小測資如要上傳第二次會是同一筆輸入測資嗎?

當然不是,否則那個四分鐘限制有什麼意義嗎?