标题：全国青少年信息学奥林匹克竞赛
竞赛概况
为了向那些在中学阶段学习的青少年普及计算机科学知识，为了给学校的信息技术教育课程提供动力和新的思路，为了你给那些有才华的学生提供相互交流和学习的机会、也为通过竞赛和相关的活动培养和选拔优秀计算机人才，教育部和中国科协委托中国计算机学会举办了全国青少年计算机程序设计竞赛，即全国青少年信息学奥林匹克竞赛（简称NOI）。  全国青少年信息学奥林匹克竞赛[1]
竞赛宗旨
全国青少年信息学奥林匹克竞赛旨在向那些在中学阶段学习的青少年普及计算机科学知识；给学校的信息技术教育课程提供动力和新的思路；给那些有才华的学生提供相互交流和学习的机会；通过竞赛和相关的活动培养和选拔优秀计算机人才。[1]
竞赛背景
1984年邓小平指出：“计算机的普及要从娃娃做起。”教育部和中国科协委托中国计算机学会举办了全国青少年计算机程序设计竞赛（简称：NOI），1984年参加竞赛的有8000多人。这一新的活动形式受到党和政府的关怀，得到社会各界的关注与支持。中央领导王震同志出席了首届竞赛发奖大会，并对此项活动给予了充分肯定。从此每年一次NOI活动，吸引越来越多的青少年投身其中。十几年来，通过竞赛活动培养和发现了大批计算机爱好者，选拔出了许多优秀的计算机后备人才。当年的许多选手已成为计算机硕士、博士，有的已经走上计算机科研岗位。[1]
为了在更高层次上推动普及，培养更多的计算机技术优秀人才。竞赛及相关活动遵循开放性原则，任何有条件和兴趣的学校和个人，都可以在业余时间自愿参加。
系列活动
NOI系列活动包括：全国青少年信息学奥林匹克竞赛和全国青少年信息学奥林匹克网上同步赛、全国青少年信息学奥林匹克联赛、冬令营、选拔赛和出国参加IOI。[1]NOI全国青少年信息学奥林匹克（NOI）是国内包括港澳在内的省级代表队最高水平的大赛，自1984年至今，在国内包括香港、澳门，已组织了28次竞赛活动。每年经各省选拔产生5名选手（其中一名是女选手），由中国计算机学会在计算机普及较好的城市组织进行比赛。这一竞赛记个人成绩，同时记团体总分。
NOI期间，举办同步夏令营和NOI网上同步赛，给那些程序设计爱好者和高手提供机会。为增加竞赛的竞争性、对抗性和趣味性以及可视化，NOI组织进行团体对抗赛，团体对抗赛实质上是程序对抗赛，其成绩纳入总分计算。　NOIP全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces简称NOIP)自1995年至今已举办17次。每年由中国计算机学会统一组织。 NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一试卷。初、高中或其他中等专业学校的学生可报名参加联赛。联赛分初赛和复赛两个阶段。初赛考察通用和实用的计算机普及科学知识，以笔试为主。复赛为程序设计，须在计算机上调试完成。参加初赛者须达到一定分数线（分数线按所在省市的平均分而定）后才有资格参加复赛。联赛分普及组和提高组两个组别，难度不同，分别面向初中和高中阶段的学生。获得提高组复赛一等奖的选手即可免试由大学直接录取。夏令营全国青少年信息学奥林匹克（NOI）夏令营，为NOI比赛的扩大赛。夏令营采取与正赛完全相同的赛制，包括时间、地点、题目与分数线。获奖选手不具备保送资格，但具有中国计算机学会颁发的成绩证明。在已获得保送资格的前提下（如NOIP联赛一等奖），可参与现场免试录取和高校自主招生保送。国内多数一流大学均承认其成绩，与NOI正式选手一视同仁。冬令营全国青少年信息学奥林匹克竞赛冬令营(简称冬令营)自1995年起开始举办。每年在寒假期间开展为期一周的培训活动。冬令营共8天，包括授课、讲座、讨论、测试等。参加冬令营的营员分正式营员和非正式营员。获得NOI前20名的选手和指导教师为正式营员，非正式营员限量自愿报名参加。在冬令营授课的是著名大学的资深教授及已获得国际金牌学生的指导教师。APIO亚洲与太平洋地区信息学奥赛（Asia Pacific Informatics Olympiad）简称（APIO）2007年创建，该竞赛为区域性的网上准同步赛，是亚洲和太平洋地区每年一次的国际性赛事，旨在给青少年提供更多的赛事机会，推动亚太地区的信息学奥林匹克的发展。APIO每年5月举行，由不同的国家轮流主办。每个参赛团参赛选手上限为100名，其中成绩排在前6名的选手作为代表该参赛团的正式选手统计成绩。APIO中国赛区由中国计算机学会组织参赛，获奖比例将参照IOI。选拔赛选拔参加国际信息学奥林匹克中国代表队的竞赛（简称选拔赛）。IOI的选手是从获NOI前20名选手中选拔出来的，获得前4名的优胜者代表中国参加国际竞赛。选拔科目包括：NOI成绩、冬令营成绩、论文和答辩、平时作业、选拔赛成绩、口试。上述项目加权产生最后成绩。IOI出国参加国际信息学奥林匹克竞赛（International Olympiad in Informatics）简称（IOI）。由中国计算机学会组织代表队，代表中国参加国际每年一次的IOI。自1989年至今已参加19次国际信息学奥林匹克竞赛。中国是IOI创始国之一。IOI2000由中国主办，CCF承办。出国参赛得到中国科协和国家自然科学基金委的资助。
自1989年开始，我国在NOI（网上同步赛99年开始）、NOIP、冬令营、选拔赛的基础上，组织参加国际信息学奥林匹克（IOI）竞赛。十几年中选拔75人次参加了IOI，累计获金牌46块、银牌17块，铜牌12块。这些选手不仅在国际大赛中有好的表现，而且在现代的信息学科上也大展才华。中国已成为世界公认的信息学奥林匹克竞赛强国，参赛选手、领队、教练曾受到江泽民、李鹏、李岚清等党和国家领导人及著名科学家的亲切接见和赞扬。根据国际信息学奥林匹克官方统计，迄今为止，中国选手累计已获得IOI金牌61枚，名列世界第一，且远超过其它国家获得金牌的数目（IOI2012）　
竞赛规则
为保证NOI竞赛的科学性和公正性，保证竞赛环境的一致性和稳定性，并为竞赛的承办单位规范化组织竞赛提供实施标准的指导，特制订本规则。[2]　竞赛环境场地
全体参赛选手分布在不超过4个相距30米之内的竞赛场地。每位参赛选手拥有面积不小于1.5M2的工作场地和正面面宽不小于0.8M的工作台，独立使用一台配备有规定的操作系统和编程工具的计算机。
竞赛组织者将在竞赛场地为选手提供草稿纸、饮水、以及必要的食品。
设备
选手竞赛用机的配置不低于下列指标：
CPU Intel 赛扬866 或相同及更高指标的其它类型CPU
内存 256MB
硬盘 10GB，其中选手可用空间不小于0.5GB。
网卡 100M
显示器 15”
键盘 标准英文输入键盘
鼠标 标准双键鼠标
选手竞赛用机上配备下列软件系统：
操作系统：NOI Linux，内核版本：2.4
桌面系统：GNOME/KDE; 
浏览器：Firefox, Konqueror
编辑工具：mcedit, vim, kate, kwrite, kdevelop, rhide
编译系统: gcc ≥3.2.2, g++ ≥3.2.2, Free Pascal ≥2.0.1
调试工具: gdb, ddd
上述软件都配有英文说明文档。操作系统和编译系统的具体版本以及对各种编程语言的使用限制见附件1。对该附件的修改在每次竞赛至少5个月前公布。　竞赛内容NOI竞赛的题目以考查选手对算法和编程能力的掌握为主。题目类型有以下三种：
非交互式程序题
非交互式程序题要求选手提交答案程序的源文件。该程序从一个正文文件中读入数据，并向指定的输出文件中写入计算结果。非交互式程序题的题面包括下列内容：
求解问题的描述 
输入文件名和输出文件名（可以是标准输入/输出） 
输入数据格式、输出数据格式、以及输入数据范围 
对程序使用计算资源的限制，以及其它可能的限制
交互式程序题 
交互式程序题要求选手提交答案程序的源文件。该程序通过调用所提供的库函数实现数据的输入和输出。交互式程序题的题面包括下列内容：
求解问题的描述 
库函数的功能、函数原型、以及获取和链接方式 
输入数据格式、输出数据格式、以及输入数据范围 
对程序使用计算资源的限制，以及其它可能的限制
答案提交题 
答案提交题不要求选手提交程序的源文件。选手需要按题目要求，根据给定的输入数据文件生成一组输出数据文件。该组数据文件既可以是由选手的程序输出的，也可以是由选手手工构造的。当选手使用自行设计的程序生成题目答案时，其所使用的程序不应提交。答案提交题的题面包括下列内容：
求解问题的描述 
输入数据格式、输出数据格式 
输入数据文件的获取方法
对于交互式程序题和非交互式程序题，对选手程序使用内存大小的限制包括运行代码、程序运行时所需的栈和堆在内的所有工作内存的总和。当题面中没有给出对使用内存 的限制时，以选手用机的实际使用限制为准。对选手程序运行时间的限制一般均大于标准答案程序所需最长运行时间的50%以上，以避免测试中的超时判断误差。
竞赛前的练习和标准化笔试题
选手在正式竞赛前应有不少于2个小时的练习时间，以熟悉竞赛场地、设备和软件环境、以及答案提交方式。竞赛前的练习应安排在第一场竞赛的前一天。在赛前练习结束后，应安排不少于30分钟的时间进行标准化笔试题的测试。标准化笔试题包含单选题、多选题和填空题，题目涉及的内容包括计算机和编程的基本知识、NOI竞赛所使用的操作系统、编程工具等的使用方法，以及基本竞赛规则。标准化笔试题的成绩计入选手竞赛的总成绩。　竞赛时间NOI的竞赛分为两场，每场竞赛的时间为5小时。两场竞赛之间应间隔一天。　赛场纪律选手可以携带书写工具，如钢笔、铅笔等，以及手表和适量的衣物等进入赛场。有特殊情况需要携带其它物品者需事先取得竞赛委员会的批准。
选手不可以携带上述规定之外的其它物品，如纸张、书籍、食品、饮料等进入赛场。选手被严格禁止携带软盘、光盘、U盘等存储设备和介质，以及手机、电子辞典、PDA等电子及通信设备。凡携带上述被严格禁止的设备进入竞赛场地者，在竞赛开始后一经发现，无论是否使用，均以作弊论处，取消其该场竞赛的资格和成绩。
选手在竞赛中不得与其他选手交谈，不得干扰他人的竞赛活动，不得损坏竞赛设备。
选手在竞赛过程中如需入厕，需举手向赛场服务人员示意并征得允许。　竞赛的开始和结束竞赛选手应佩戴选手标志，在竞赛前5分钟入场，按指定位置就座。竞赛在竞赛场地负责人发出竞赛开始的指令后开始。在竞赛开始前选手不得触动竞赛桌面上包括计算机、键盘、鼠标和试卷在内的任何物品。
竞赛场地负责人应在竞赛结束前5－15分钟之间发出竞赛即将结束的提示，并在竞赛结束时间到达时发出竞赛结束的指令。在听到竞赛结束的指令后，除了获得加时补偿的选手外，其余选手应立即停止竞赛活动，并携带属于个人的物品离开竞赛场地。　竞赛中的答疑选手在竞赛过程中对竞赛的题目、竞赛设备以及编程环境有疑问时，应举手向竞赛场地负责人或场地服务人员提问。
选手在竞赛过程中遇有计算机或软件工具故障，或其它妨碍竞赛的情况，应及时举手向竞赛场地负责人或场地服务人员报告。竞赛场地负责人或场地服务人员应及时处置。对于妨碍选手竞赛超过3分钟的，应记录在案并给以加时补偿。　答案的提交选手完成的赛题答案必须按题目的要求保存为规定格式的文件，并存放在规定的目录下。选手提交的程序源文件必须不大于100KB。答案提交类题目的答案文件不得超过题目规定的大小；题目未规定大小的必须不大于100KB。未按规定的格式、名称和大小生成和保存答案文件的将视为未提交，并且不被评测，因此不能得分。
对于程序设计题，选手提交的答案不得包含下列内容：
· 试图访问网络
· 使用fork或其它线程/进程生成函数
· 打开或创建题目规定的输入/输出文件之外的其它文件
· 以任何方式对标准输入/输出文件的重定向
· 运行其它程序
· 改变文件系统的访问权限
· 读写文件系统的管理信息
· 使用除读写规定的输入/输出文件之外的其它系统调用
违反上述规定中的任何一项的程序将被视为违规，因此不被评测，不能得分。
评测和成绩发布
除另有说明者外，选手提交的程序设计题将在Linux系统上使用下列编译命令进行编译：
· C程序： cc -static -o <程序名> <程序名>.c -lm
· C++程序：g++ -static -o <程序名> <程序名>.cpp -lm
· Pascal程序：/usr/local/bin/ppc386 -XS -o<程序名>c <程序名>.pas
未能通过编译并正确生成可执行文件的程序在该题目上不得分。能够通过编译并正确生成可执行文件的程序将在与选手编程环境相同的系统平台上，在题面规定的限制条件下运行和评测。对于程序设计题，选手答案的得分将取决于结果的正确性、算法的效率、以及程序运行的效率。评测将使用多个测试点，以区分选手答案的正确程度和效率。在正确性和效率方面都符合题目要求的答案将获得该题目的满分。算法和程序实现正确，但效率较低的答案也可能在若干测试点因超时而无法获得分数。
选手的程序必须在程序执行结束时显式地返回0。返回其它值的程序将被认为是结果不正确，并因此不能得分。
对于答案提交题，只对选手答案的正确性进行评测。
评测结果将在竞赛结束后150分钟之内，以成绩单的形式发给选手所在队的领队签收。成绩单上将标出选手各题在每个测试点上的得分，以及未得满分的测试点的错误信息，参见附录。选手每道题的得分为其在该题各个测试点上的得分之和。选手每天的得分为其在当天各道题上的得分之和。　复测选手在接到成绩单后可以在规定的时间之内，在其竞赛时使用的计算机上对其答案进行复测。选手在竞赛结束时所提交的答案依然保存在题目所规定的文件目录中，复测所需的测试数据和答案在复测开始前将被下发到选手计算机上指定的文件目录中。
复测时，选手可以和领队或其他队员进行讨论，但不得妨碍其他队的队员的复测活动。　申诉复测完毕后，竞赛选手对于评测成绩有异议的，可向科学委员会提出申诉。申诉须在复测结束后3小时之内，由竞赛选手本人提出。提出申诉的竞赛选手须按规定填写申诉表（附件2），由本队领队签字后提交给现场评测人员或科学委员会成员。
申诉必须依据竞赛选手本人在竞赛时提交的程序或答案以及在复测时获得的结果提出。　申诉的受理科学委员会在接到选手的申诉后应及时研究，并决定是否受理。对于受理的申诉，科学委员会应尽快做出处理，并使用申诉处理表（附件3）将处理结果书面告知申诉人。对于改变了选手得分的申诉处理，科学委员会在处理完毕后应向申诉人发放新的成绩单，并按新的得分计算申诉人的竞赛成绩。
对于不受理的申诉，科学委员会应在选手提交的申诉表中注明拒绝受理的理由，并尽快将申诉表退还申诉人。申诉人如对科学委员会不受理的决定有异议，并有新的理由和证据的，可以再次提出申诉。
下列申诉将不被受理：
· 以修改过的程序或答案为依据的
· 没有复测结果支持的
· 超过申诉时间的
· 对评测结果中的超时有异议，且复测结果的运行时间与题目时间限制之差小于题目时间限制5%的。
对于以修改过的程序或答案为依据提出申诉并且声称依据原始程序或答案的，一经查实，将对申诉人及其领队给予警告。情节严重者将取消申诉人当天的竞赛成绩。　附则本规则自2007年6月开始执行。
本规则由科学委员会负责解释。
全国青少年信息学奥林匹克竞赛（NOI）是由中国计算机学会主办的一项面向全国青少年的信息学竞赛和普及活动。也是与联合国教科文组织提倡的国际信息学奥林匹克竞赛，同步进行的一项竞赛活动。
历届举办地
NOI 2013 将于四川成都举行，2013
NOI 2012 于江苏常州举行，7月28日 - 8月3日，2012[7]
NOI 2011 于吉林长春举行，8月6日 - 8月12日，2011[8]
NOI 2010 于山东烟台举行，7月31日 - 8月6日，2010
NOI 2009 于北京举行，7月25日 - 7月31日，2009
NOI 2008 于浙江绍兴举行，7月27日 - 8月2日，2008
NOI 2007 于福州举行，7月28日 - 8月3日，2007
NOI 2006 于四川绵阳举行，7月22日 - 28日，2006
NOI 2005 于郑州举行，8月5日 - 11日，2005
NOI 2004 于长沙举行，8月8日 - 14日，2004
NOI 2003 于上海举行，8月3日 - 9日，2003
NOI 2002 于天津举行，8月10日 - 16日，2002
NOI 2001 于西安举行，9月，2001
NOI 2000 于澳门举行，3月，2000
NOI 1999 于北京举行，7月，1999
NOI 1998 于杭州举行，8月，1998
NOI 1997 于香港举行，8月，1997
NOI 1996 于上海举行，8月，1996
NOI 1995 于南京举行，8月，1995
NOI 1994 于北京举行，8月，1994
NOI 1993 于太原举行，8月，1993
NOI 1992 于北京举行，8月，1992
NOI 1991 于厦门举行，8月，1991
NOI 1990 于北京举行，8月，1990
NOI 1989 于惠州举行，12月，1989
NOI 1988 于北京举行，8月，1988
NOI 1987 于潍坊和青岛举行，8月，1987
NOI 1986 于北京举行，8月，1986
NOI 1985 于天津举行，8月，1985
NOI 1984 于北京举行，8月，1984
[3]