Download presentation
Presentation is loading. Please wait.
1
ACM 國際大學電腦程式設計競賽 ACM International Collegiate Programming Contest ( ACM-ICPC )
2
ACM-ICPC 國際大學院校之年度程式設計競賽 總部設於 Baylor University ,由電 腦協會 (Association for Computing Machinery, ACM) 及 IBM 公司贊助
3
ICPC 宗旨: Battle of the Brains 促進國際各大學學生之間的交流。 提供學生一個機會,在有限的時間之內, 藉由解決精心設計的複雜難題,以鍛鍊和 展現其本身解決問題、程式設計,以及團 隊合作的能力。 為學術界、產業界發掘下一代的資訊人才, 讓參賽者有快速晉身的管道。
4
歷史 前身為 1970 年在美國德克薩斯 A&M 大學舉 辦的比賽。當時的主辦方是 the Alpha Chapter of the UPE Computer Science Honor Society 。 此後,演變成為多國參與的國際性比賽, 在 1977 年由 ACM 舉辦首次總決賽。 自 1997 年 IBM 開始贊助賽事之後,賽事規 模增長迅速。
5
Contest Rule ICPC 共分兩個階段 : 區域賽 (Regional Contest) 世界賽 (World Final) 區域賽表現優異的隊伍可以晉級世界賽, 角逐世界冠軍的榮耀。 每年區域賽的日期大約是九月至十二月, 世界賽則是在三月至四月舉行。
6
Contest Rule 以團隊的形式代表各學校參賽,每隊由 3 名 隊員組成。 每位隊員必須是大學在校學生 ( 受大學教育 五年內 ) ,最多可以參加 2 次全球總決賽和 4 次區域選拔賽。 每隊使用 1 部電腦在 5 個小時內使用 C 、 C++ 、 Java 或 Pascal 程式語言解決 8 到 10 個問題, 由解出題數最多且使用時間最少的隊伍獲 勝。
7
Contest Rule 程式以最後一次提交且被判定為正確的時 間為提交時間。 每一次的錯誤判定將使程式的提交間增加 20 分鐘 penalty 。
8
Contest Rule 參賽者將完成的程式碼線上繳交給裁判裁決,裁 判以以手中的測試資料為基準,判定程式為 accepted ( 正確 ) 或 rejected ( 錯誤 ) ,程式可以重 複提交直到被判定為正確為止。 錯誤訊息: Run-time error Time-limit exceeded Wrong answer Presentation error
9
Contest Rule 範例: A 、 B 兩隊都正確完成兩道題目 A 隊於比賽開始後 1:00 和 2:45 提交兩題 A 隊的總用時為 1:00+2:45=3:45 B 隊於比賽開始後 1:20 和 2:00 提交兩題,但 B 隊有一題提交了 2 次 ( 錯誤一次 ) 。 B 隊總用時為 1:20+2:00+0:20=3:40 B 隊以總用時少而獲勝。
10
台灣地區比賽 由「全國大專電腦軟體設計競賽」參賽隊伍中, 擇優推薦甲組六至八隊 報名參加「 ACM 亞洲區台灣賽區大學電腦程式 設計競賽」,角逐台灣地區 ACM 國際大學電腦 程式設計競賽之決賽權,但各校不得超過兩隊。 大專程式設計競賽之隊伍如取得「 ACM 亞洲區 台灣賽區大學電腦程式設計競賽」之決賽權,成 績最優之二隊可向教育部申請補助參賽費用。
11
台灣地區比賽 第 31 屆 ACM 國際大學電腦程式設計競賽 亞洲高雄賽區 (2006 Annual ACM International Collegiate Programming Contest Asia Kaohsiung Contest Site 國立中山大學主辦 競賽活動日期 2006 年 11 月 17 日 ( 週五 ) 至 11 月 18 日 ( 週六 )
12
2007 Final The 31st ACM International Collegiate Programming Contest World Finals March 12-16, 2007 - Hilton Tokyo Bay
13
Tips 熟悉比賽作業系統: 台灣區競賽使用的作業系統為 GNU/Linux SUSE Enterprise for desktop 10 World Final 使用的作業系統為 Fedora Core 4 Linux 熟悉比賽使用語言及發展工具環境: 台灣區競賽使用的語言為 GNU C/C++ ;程式發展工具: Eclipse World Final 使用的語言為 Java (version 1.5) 、 C/C++ (GCC 4.0) 、 Pascal ;程式發展工具: Java - Eclipse 3.1 、 C/C++ - CDT 3.0 under Eclipse 3.1 、 Pascal - Borland Kylix Version 3.0 熟悉比賽使用裁判程式: PC 2 (Programming Contest Control System)
14
Tips 培養團隊默契: 相互了解彼此的長處與短處 定好分工方式 立定得分策略: 先分工瀏覽全部試題,挑出有把握的題目,集中全力解決之 若手邊仍有一些可能解出的題目,則可以儘早放棄履遇挫折的題 目。 帶齊資料: 參賽者可攜帶書籍、手冊、紙本的程式碼。但不可攜帶機器可讀 寫的任何軟體或資料,亦不可攜帶自己的電腦、終端機、計算機、 電子字典或 PDA ,並嚴禁使用行動電話及呼叫器,以免干擾其他 隊伍作答。 記得帶一本好用的字典
15
Tips 多使用 C++ Standard Template Library E.G. #include stack S; queue Q; priority_queue PQ; stack - S.push(), S.top(), S.pop(), S.empty() You should always top on pop because top returns but does not remove the element on top, while pop removes but does not return the element. Linked implementations ensure the stack will never be full. queue – Q.front(), Q.back(), Q.push(), Q.pop(), and Q.empty() hash_map – H.erase(), H.find(), H.insert() priority_queue – PQ.push(), PQ.top(), PQ.pop(), PQ.empty() set – S.set_union, S.set_intersection sort or stable_sort
16
Good Luck!!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.