项目介绍
美国计算机联盟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)。