close
什麼是ACM-ICPC?
ACM International Collegiate Programming Contest是由ACM主辦的全球性程式比賽,每年都會在全世界各地先辦regional的初賽,然後再由各regional的前一、二名晉級參加一年一度的World Final。ACM的比賽一般都是五個小時,然後大概有六到十題題目,題目的方向比較偏向演算法的分析與設計,需要參賽者腦力激盪想出解決方法,並把程式寫出來。不過一般說來程式碼不會太長,都是一兩百行之內就可以完成的。比賽的過程其實還蠻緊張有趣的,因為每答對一題就會獲得氣球,而且大家都是在同一個場地比賽,所以當看到別人拿到氣球或是自己拿到氣球時,都會覺得緊張刺激。



其實ACM-ICPC真的是一個值得參加的比賽,以去年來說,台灣的站是在高雄,三千五百塊的報名費,不但有和全國程式設計好手切磋的機會,而且主辦單位還幫你出一個晚上的旅館費、慶祝活動的費用,更棒的是從去年開始ACM更提供每位regional的參賽者一年的ACM學生會員,價錢加一加絕對是值回票價,如果比賽結果很好,還有機會出國比賽兼觀光。因為每個學校都有名額限制,所以常常也搶手,不過只要有適當的準備,要參加應該都不是問題。

ACM-ICPC的比賽內容
ACM-ICPC的題目類型都比較偏向演算法的設計與實作,所以題目輸出入的格式都相當嚴謹。在解決問題的過程中,常常會用到一些資料結構和演算法課介紹的內容,參賽者需要稍作修改以符合題目的需要。舉例來說,大家都學過最短路徑的演算法,在比賽的時候,參賽者可能要判斷出某個題目是最短路徑的變形,接著就要評估哪個演算法才能符合題目的條件與效率,然後再對演算法加以修改,方能解出題目。不過也並非所有題目都是難題,每次比賽中,應該都會有簡單到二三十分鐘就能解決的題目。總之,ACM的題目常常需要參賽者去了解、分析題目之後,再想出解決的演算法。
arrow
arrow
    全站熱搜

    NBPBlog 發表在 痞客邦 留言(0) 人氣()