noi linux简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
提交方式
◦ 源代码 ◦ 答案文件
测试点数目/分值
◦ 测试点数目,及每个测试点的权值,总权值可以设置
数据输入方式
◦ 文件输入(建议使用) ◦ 标准输入
时间限制
◦ 选手程序运行时间上限,以秒为单位 ◦ 为了防止在时限上出现的临界行为,给予选手1.5倍 运行时间限制,超时将被强行终止。(例如文件尚未 flush完毕等 非选手原因引起的输出答案错误)
总体统计 分组统计 试题统计 等级统计 打印成绩单
显示所有考生在本场比赛中所有场次的考试成 绩及总分 可以自定义每个分数段的考生人数 可以打印或导出考生的总体成绩单,和每个考 生的成绩单
◦ 总成绩单导出为csv格式 ◦ 个人成绩单导出为 ps 格式
可以针对各省代表队成绩进行统计 可以选择自定义统计,即获得每个代表队前几名 的总成绩 可以导出打印统计数据
Noi官网下载最新Ubuntu for noi
◦ 采用虚拟机VirtualBox/VMWare workstation ◦ 光盘启动双系统 ◦ 直接硬盘安装
Linux 文件目录结构
Windows 目录结构
如果是Windows 与Linux 双系统,需要注意:
用户登录时使用的键盘、显示系统,在Linux环境下称 为终端。为了方便用户的使用,目前Linux提供虚拟字 符终端,用户可以通过Ctrl+Alt+Fn(1≤n ≤ 6)切换字 符终端。 如果安装了X-Window图形界面,在启动图形界面后, 用户通过Ctrl+Alt+F7切换到图形界面,也可以通过 Ctrl+Alt+Fn(1≤n ≤ 6)切换到其他终端。 建议学会以下几个命令的简单使用
◦ su、sudo、cd、cat、ls、more、mv、cp、rm等, ◦ 可以用--help查看帮助(注意是两个减号),如 执行cp –help可以 查看文件复制命令的使用方法。
源代码录入:
◦ 源代码录入,采用普通的文本编辑器即可 ◦ Linux下常用于源代码编辑的文本编辑工具有:
Vi Emacs
可以显示每道题目的得分情况,以及一些重要的 评测数据,如该程序题每个测试点的平均用时 、最短用时等 用于帮助命题人了解此次考试的难度、解答情 况等
用于评奖,在右边输入评奖规则(既可以是人数 也可以是百分比) ,就可以在左侧显示学生的得 奖情况
在统计工具中导出成绩单后,每名考生的成绩都 将被保存在 ps/目录下,相应的考试天数及相应 的考生编号目录下 ps格式(postscript) 可使用以下软件查看或打印
选手源程序 problem.c/.cpp/.pas
选手答案文件 problem.out
评测插件 problem_e 标准答案文件 problem.ans 选手成绩
试题配置 选手名单 评测数据 选手文件 注意事项
试题名称
◦ 题目及相关数据的唯一命名 ◦ 决定了选手程序、评测数据的命名规则 ◦ 使用英文,4-10个字符
内存限制
◦ 选手程序占用内存上限,以MB为单位(虚拟内存) ◦ 动态分配内存,静态分配内存
使用语言/编译选项
◦ 目前支持在比赛中使用C/C++/Pascal三种语言 ◦ 编译选手程序所需的选项,如 -lm 链接数学库
运行参数
◦ 运行选手程序所需的参数(较少使用)
标准评测插件
◦ 字符串比较 ◦ 整数比较 ◦ 浮点数比较
应用程序
图形化界面
必选的图形界面,图形界 面和命令行不能分开使用 使用文件扩展名来区分文 件类型 使用时间的增加,由于习 惯或安装软件的需要重新 引导系统 命令和文件名不区分大小 写
文件扩展名 重新引导
命令区分大 小写
Linux和传统UNIX一样,是个多用户的操作系统,每个 用户都有自己的用户名以及相应的密码。 用户使用系统前必须使用自己的用户名和密码登录系统, 成功登陆后方可使用系统完成自己的操作。 特殊用户root。 用户登录后系统为用户启动一个shell,用于用户和系 统的交互。Shell是一个处理用户输入、完成用户指定 的命令的程序。
合肥一中 汪义超
2011年11月4日
Байду номын сангаас
竞赛系统环境 Linux 基础 Noi Linux 安装 GUIDE简介 Arbiter系统简介 考试评测中常见问题及注意事项
目前,在NOI中使用的系统均采用如下配置的软件 环境:
◦ 操作系统:Linux(Ubuntu10.10) ◦ C/C++编译器:gcc/g++ ◦ Pascal编译器:Free Pascal ◦ C/C++ IDE:Anjuta ◦ Pascal IDE:Guide 1.0.1 考试中具体用什么环境因人而异: pascal:lazarus、guide、fp、文本+fpc/gdb C/C++:guide、anjuta、文本+gcc/g++ +gdb
需严格检查卷面说明与试题配置是否一致
◦ ◦ ◦ ◦ 时间限制 内存限制 数据规模 编译选项
确认评测插件具有可执行权限
◦ chmod +x … ◦ 文件管理器
评测系统可以多种方式灵活地执行评测
◦ 可以选定评测的考试场次 ◦ 可以针对全部选手或选定选手 ◦ 可以针对全部试题或选定试题
评测的过程中可以通过评测进度条和考生列表 中的指示灯来了解评测进度
编译器编译
◦ 对应每种程序设计语言,都会有相应的编译程序,完成从 源代码到可执行文件的转换工作。 ◦ 一般来说,编译器是一个可以独立运行的程序,例如:C 的编译器gcc、Free Pascal提供的Pascal编译器fpc,都 是可以单独执行的程序。
使用调试器调试
◦ 如果在编译过程中打开了调试开关,编译器生成的可执行 程序中将包含该程序的调试信息 ◦ 调试器使用可执行程序中的调试信息,对可执行程序进行 调试。 ◦ Linux下,可以使用通用的调试器gdb对大多数语言生成 的可执行程序进行调试。 ◦ 当前Linux大多数调试器都是以gdb为基础工作的,Free pascal的调试器就是这样工作的。
采用上述环境的主要原因:
◦ ◦ ◦ ◦ 方便选手编程 避免各种软件的版权纠纷 与国际比赛( 如:IOI、ACM等 )接轨 统一比赛环境有利于自动评测
Linux操作系统内核最早是由芬兰人Linus Torvalds开发并在1991年发布的,它的兴起是与 全世界爱好者的支持和努力分不开的,是与UNIX兼 容的操作系统。 Linux可以免费使用,它的源代码可以自由传播且 可任人修改、充实、发展。 Linux是一个健壮的、高性能的操作系统。 Linux是一个可以运行在多种硬件平台上,完全免 费的UNIX兼容系统,完全适用于个人的PC。 Linux是一个完整的32位的多用户多任务操作系统, 可以进行直接的安装。
评测数据存放在evaldata/目录下 遵循以下命名规则(不包含中括号)
◦ 标准输入文件为[试题名称][测试点编号].in ◦ 标准答案文件为[试题名称][测试点编号].ans ◦ 编号范围为1-10,并非0-9
选手程序存放在players/目 录下 每名选手拥有以自己编号命 名的目录 选手目录下,每道试题拥有 以试题名称命名的目录 选手程序保存在相应试题目 录中,主文件名为试题名称, 扩展名为.c / .cpp / .pas, 并且必须为小写字母
支持当前主流的 Linux 发行版本
◦ RedHat,Fedora Core,Ubuntu… ◦ 推荐使用NOILinux
支持多种语言(C/C++/Pascal) 配置灵活,功能多样化 时间控制的精确性(误差不大于5ms) 有效的内存使用限制
标准输入数据 problem.in
选手程序 problem
自定义插件
◦ 通常命名为 :题目名称_e 例如,candy_e ◦ 通过对话框选取,将被复制到filter/目录下
所有题目配置完成后,可在试题概要界面检查 试题配置信息是否正确 确认无误后选择保存后方可生效
自动导入
◦ CSV格式(Comma Separated Values)
纯文本格式 每条记录占一行 以逗号为分隔符 可用Microsoft Excel 或 OpenOffice Calc编辑和导出
◦ 第一列为选手编号,第二列为选手姓名
◦ 文件编码为GB2312编码
选手编号格式为[省份代码-3位数字],如HN-007
手工添加
Namelist.txt
◦ ◦ ◦ ◦ ◦ HF-001, 梁泽宇 HF-002, 范逸文 HF-004, 夏秋冬 HF-005, 程懋 HF-007, 牛泽昊
Noi系列比赛使用的发行版本:Ubuntu
◦ 优点: 安装方便、简单 被誉为对硬件支持最好、最全面的Linux发行版之一
相似之处
◦ ◦ ◦ ◦ ◦ 多用户操作系统 支持多种文件系统 支持多种端口和设备 支持联网功能 服务
区别
Windows系统 Linux系统 定位于网络操作系统,设计灵感来自UNIX操 作系统,命令设计简单,系统配置文件和数 据都以文本为基础。同样拥有非常先进的网 络、脚本和安全能力 可选的图形界面,图形化管理工具是命令行 工具的扩展,使用图形化工具不妨碍对配置 文件进行手工修改。同时支持这两种方式。 根据文件属性来识别其类型 一旦运行,即保持良好的状态,直到收到外 来影响,应用程序不会导致系统内核崩溃, 不要经常重新引导 所有Linux系统下命令、文件和口令等都区分 大小写 定位与个人桌面用户,易 使用、维护、界面美观
使用集成开发环境(IDE)进行程序开发
◦ 集成开发环境(IDE)是为了方便用户的程序开发过程, 将源代码编辑、编译、调试等多个程序的功能集成到一个 界面下的开发工具。Windows下的Visual Studio、Linux 下的GUIDE,都是集成开发环境。 ◦ IDE的工作依赖于后台的编译器、调试器。
从严格意义上来说,Linux只是操作系统内核,用 户使用时,需要安装各种应用软件。为了方便用户 的安装、使用,现在有很多的Linux发行版,其中 包括了Linux的操作系统内核、还有各种应用软件, 满足用户各种应用的需要。
目前国内常见的Linux发行版本
◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Red Hat(红帽子) Slackware Suse Debian Red Flag(红旗) Mandriva Geetoo Ubuntu
GUIDE(GAIT Universal IDE) 是由北航 GAIT 研究 组开发的、专门为 NOI ( National Olympics of Informatics )选手设计的、支持 C/C++/Pascal 三种程序设计语言的小型集成开发环境。作为一个 简单、快捷的开发环境, GUIDE 旨在为选手们提 供单文件编译、调试和运行的环境。 具体使用参见noi提供文档 GUIDE v1.1.pdf
◦ 一定要先装Windows,后装Linux。当前的Linux 的Grub 引导程序可以充分兼容 ◦ 各Windows 版本,包括Vista,而如果颠倒顺序则Windows 的引导程序就会覆盖 引导扇区,导致Grub 的引导被破坏。 ◦ 由于Windows 安装在先,为了不破坏Windows 的目录结构树,一定要将Linux ◦ 安装到Windows 的分区之后。需要注意的是,在Ubuntu 的图形模式安装下,如果 预先硬盘上不存在未格式化的空间,进入分区步骤时有两个选择方式,其中默认的 第一个选择是使用整个硬盘。如果用户不加注意,会造成全盘格式化并按照默认模 式为Ubuntu 分出两个分区,即“/”根分区和swap 分区 ◦ 分区划分好后,如果要对分区进行调整,尽量在Linux 环境下执行,注意不要破坏 Windows 的C 盘 ◦ 如果是想删除Linux,单纯格式化分区是不行的,会导致Grub 出错,无法继续 Windows 的引导,需将指向Grub 主引导菜单的指针赶出MBR。此时有一个简单的 解决方法就是使用Windows 光盘调出故障恢复台进行Windows 的修复,或者启动 DOS 使用命令fdisk /mbr