0
点赞
收藏
分享

微信扫一扫

CSP-JS第二轮或NOIP复赛的文件组织形式


有些省份复赛指定使用NOILinux,另有些省份则可从Windows或NOILinux中任选一款。现以NOILinux为例。

首先考试时需要从局域网里下载题目和样例数据(下载之后可能需要解压缩),这是第一个文件夹,这个文件夹可随意命名,比如“题目”或“Problem”,或者按默认的名字。提交题目时需要在桌面建立以准考证号命名的文件夹(比如BJ-001),这是第二个文件夹。另外有些选手不想把自己的cpp程序和in文件、out文件放在第一个或第二个文件夹里,这时可以创建第三个文件夹,这个文件夹可以随意命名,比如MyCode。这三个文件夹如下图所示。

CSP-JS第二轮或NOIP复赛的文件组织形式_文件名

MyCode文件夹里面可以再为每道题创建一个子文件夹,也可以不建立,这个无所谓,反正这个文件夹不用上交。假如不为每道题创建子文件夹的话,那么以CSP-J2019复赛为例,目录结构如下图所示:

CSP-JS第二轮或NOIP复赛的文件组织形式_linux_02

注意:
(1)上图是假定四题都做的情况。如果有题目不会做,就不需要有相应的cpp文件和in、out文件。
(2)每个程序里要加文件输入输出代码,比如

freopen(“number.in”, “r”, stdin);
freopen(“number.out”, “w”, stout);

注意,noilinux下使用freopen,需要包含头文件stdio.h或cstdio或直接使用万能头文件bits/stdc++.h。
(3)xxx.cpp文件需要手动创建。后缀名.cpp在noilinux下需要自己手动填写,无论用gedit还是用emacs还是用guide软件都不会自动生成后缀名,网络上有文章说后缀名会自动生成,这是个误导。
(4)xxx.in文件可以手动文件,也可以把Problem文件夹下面的测试数据比如number1.in或number2.in拷贝到MyCode下,然后重命名把数字编号去掉,即把number1.in或number2.in改成number.in。
(5)xxx.out文件一定不要手动创建,成功运行程序后会自动生成.out文件。如果没生成.out文件即表示程序有误,应检查两行freopen代码尤其是第二行。
(6)题目里会有number1.out或number1.ans或number2.out或number2.ans之类的文件,这个是用来与你的程序生成的number.out中的答案相对照从而判断你的运行结果是否正确。number.out中的运行结果也可以与卷子里的样例结果相对照。
(7)xxx.cpp这里的文件名和freopen中的第一个参数的文件名、xxx.in、xxx.out文件的名称都是一样的,若不一样,肯定有错。比如程序名是number.cpp,那么两行freopen代码的第一个参数如第(2)条所示,所创建的输入文件名为number.in,程序生成的输出文件名为number.out。
(8)最后提交程序时,只需要提交.cpp文件,不需要提交.in和.out文件。

提交的文件夹目录结构如下图所示:

CSP-JS第二轮或NOIP复赛的文件组织形式_文件名_03

注意:
(1)上图假定四题都会做。如果只会做三题,那么另一题可以不建立题目文件夹和.cpp文件。
(2)据说有些省份不需要为每道题创建一个子文件夹,把几个cpp文件直接放到准考号文件下面即可。具体进了考场后,黑板上或卷子上会有通知。

此文献给第一次奔赴CSP-JS第二轮或NOIP复赛考场的选手们。


举报

相关推荐

0 条评论