項目介紹
美國計算機聯盟ACSL(American Computer Science League)每年都會為全世界(主要是美國)的初中生和高中生舉辦計算機比賽,至今已經有近40年的歷史。與USACO不同,ACSL是團體賽,并且有簡答題和編程題兩個部分。72小時內完成比賽
參賽方式
以學校為單位參賽,需要由指導老師報名。一個學校可以報名參加一個或多個組別的比賽,但每個參賽者只能參加一個組別的比賽。
報名后指導老師會收到一本指導手冊,用于指導學生參賽。另外官網上也可以找到每次考試的考綱和例題。
ACSL會在每次比賽前將由5道簡答題構成的試卷和一道編程題發送到指導老師的郵箱,指導老師在一周內選一個時間讓參賽者統一完成考卷。
簡答題:不同組別的時間限制不同,答題不能使用計算器。簡答題內容包括boolean logic、圖論、二進制運算等。
編程題:參賽者需要在拿到題目之后的72個小時內完成編程。題目會給出sample input and output(示例輸入和輸出),給參賽者測試程序。
簡答題和編程題都是個人為單位完成,由指導老師批改。不同組別拿到的題目不同。
這樣的比賽從12月份開始到次年5月份,一共會進行4次。
分組方式
組別由學校的指導老師決定。ACSL一共有5個組別:
Senior Division:面向有一定編程基礎的高中生,特別是正在上或者已經上過AP計算機科學的學生。
Intermediate Division:面向編程基礎較淺的初中和高中生。
Junior Division:面向之前沒有編程基礎的初中生。Junior Division,Intermediate Division和Senior Division需要在30分鐘內完成簡答題試卷。
Classroom Division:面向任何年級的學生,只有簡答題,需要在50分鐘內完成。
Elementary Division:小學組,面向3-6年級學生。只有簡答題。
記分方式
簡答題,答對一題記1分,最多5分。
編程題,ACSL會發給指導老師5組測試數據,指導老師在輸入官方給出的input之后,如果程序能跑出正確答案,則每一個正確答案記1分,最多5分。如果程序出現死循環則不得分。所以,一個參賽者的最高個人得分是10分(簡答題5+編程題5)。
最后,一個隊伍選出最高的3個分數交給ACSL,作為這一次比賽的團體總分。團隊最高分是30分(10+10+10)。