CSP-J/S第二轮认证注意事项

金九银十日,复赛进行时。 CSP-J/S复赛马上就要开始了,但是每年都有很多孩子因为一些不起眼的失误导致一年的努力付之东流。下面为大家准备了一些复赛的注意事项,避免踩坑。

在哪里写代码

第二轮比赛与我们平时在OJ上做题形式不同,需要我们将文件放入规定的目录,然后汇总提交,由系统统一评测后得到分数。那么应该在哪里写代码呢?

一般情况下,主办方会在计算机的E盘(或者D盘)根目录下建立以考生准考证编号命名的文件夹,考生应检查该文件夹名称是否正确(包括编号及大小写字母)。如有错误须立即上报监考人员,由监考人员进行更改。

确认无误后,考生须为每道试题再单独建立一个子文件夹,子文件夹名与对应的试题英文名相同(参见试题封面页)。考生提交的每道试题的源程序(.cpp文件)也必须按照对应的试题命名,分别存放在其子文件夹下。

下面以CSP-J/S 2021 第二轮认证 入门组为例,山东考生张三,准考证号SD-1001,试题封面页如下:
在这里插入图片描述

以下演示以Windows环境为主,个别省份使用的是NOI Linux,操作基本类似。

SD-1001考生的答题目录如下:
在这里插入图片描述
每道题的源程序要放在对应的子文件夹下:
在这里插入图片描述

注意事项

  1. 仔细检查选手的目录名和题目的目录名,并确定拼写正确
  2. 源程序文件名(.cpp文件)必须使用英文小写,确定拼写正确
  3. 比赛结束时只保留源程序文件(.cpp文件)即可,其它文件可以删除。

如何输入输出

除了答题方式不同,考试还要求每道题从指定的文件输入数据,并将结果保存到指定输出的文件中。以上要求可以通过重定向输入输出来完成,方法如下。

在主函数的开头加入下面两行代码:

freopen("输入文件名", "r", stdin);
freopen("输出文件名", "w", stdout);

输入文件名和输出文件名在试题封面页可以找到。以candy这个题为例,其输入文件名为candy.in,输出文件名为candy.out
在这里插入图片描述
下面是实现代码:

#include <iostream>
using namespace std;
int main()
{
	//将标准输入输出重定向到文件中,注意文件名都是小写,不能有多余的空格
	freopen("candy.in", "r", stdin); 
	freopen("candy.out", "w", stdout);
	int n, L, R;
	cin >> n >> L >> R;
	if(L / n != R / n) cout << n - 1;
	else cout << R % n;
	return 0;
}

加了freopen后,就不能像之前一样在控制台输入数据测试程序了。测试代码可以这样操作:

  • 在该文件夹下新建一个文本文档,将其重命名为candy.in(注意扩展名)
  • 使用记事本打开该文档,将测试样例拷贝过来,并保存
  • 运行程序,在目录下会自动生成candy.out文件,用记事本打开,检查输出结果。

当然,也可以先注释掉这两行代码,等程序测试无误以后再去掉注释。一定要记得去掉注释!!!

注意事项

  1. 输入输出的文件名必须使用英文小写,并与试题封面页要求的输入文件名和输出文件名相同,不能有多余的空格
  2. 如果注释掉了文件重定向的代码,等程序测试无误后,一定要记得去掉注释

其它注意事项

  1. 再次提醒,考试结束前请检查文件夹名,文件夹位置,文件名以及文件输入输出。
  2. 注意数据类型,需要时请使用long long或写高精度。(十年OI一场空,不开long long见祖宗)
  3. 注意数组大小,数组太大将无法运行导致0分。一个int为4字节,long longdouble为8字节,数组大小要在 3 × 1 0 6 3\times10^6 3×106以内。也不要数组太小,小心RE
  4. 不要忘记变量初始化,全局变量会自动初始化。
  5. 注意下标不要越界,比如背包j-w[i]时需要确实其大于等于0。
  6. 若使用直接输出进行调试,比赛结束前一定要再检查一遍输出的中间结果内容是否被删除,包括多余的换行。
  7. 涉及到有无解,可以直接输出无解骗分
  8. 不要使用nextY1y1作为变量名(同理还有hashtimepipeynj0j1jn),会导致CE。另外不要使用gets函数(C++14已经移除,用getline替代)。
  9. 检查是否直接除以0。
  10. scanf读取变量不要忘记加地址符。
  11. 不建议使用快读,关闭输入输出同步流即可。
  12. 编译记得开-std=c++14
  13. 输出格式不要出错,忘记输出换行或输出多个空格,如输出一行一定要输出换行。
  14. 不确定要写暴力。有想法且时间足够须对拍后作为自己的最终代码。
  15. 优先队列为priority_queue(默认大顶堆),哈希表unordered_map,不要拼错。
  16. double的比较需要使用fabs,不能直接==。例如:
#include <iostream>
#include <cmath>  // 绝对值函数头文件
using namespace std;
int main()
{
    const double eps = 1e-8; // 限定误差范围    
    double a = 10.0 / 3;
    double b = 3.333333333333 ;
    if (fabs(a - b) <= eps) cout << "a和b相等" << endl;
    else cout << "a和b不相等" << endl;
    return 0;
}
  1. 等监考老师收完代码再离场。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
资源来源于网络,如有侵权,私信立删。 CSP-J/S第一轮时间 CSP-J/S第一轮分为:CSP-J1和CSP-S1。和NOIP第一轮时间一样,CSP-J/S第一轮认证在10月份第三个星期六进行。 CSP-J/S第一轮考察重点 第一轮认证为笔试或机试,主要测试选手有关计算机方面的基本知识,第一轮为资格测试。从2020年开始,全部为机试。 CSP-J/S第一轮报名方式 参加CSP-S/J两组两轮认证均须在网上注册报名,注册网站为http://rg.noi.cn。参加认证者必须如实填写个人信息报名,包括但不限于姓名、身份证号、出生日期、性别、就学(学籍学校)/就职单位等,信息一旦注册,不得修改,如有错误,责任自负。 CSP-J/S第一轮认证考点 省认证点由CCF授权的CSP非专业级别省认证组织单位设置。 1、第一轮认证点:由省认证组织单位总负责人设置,每个认证点人数不应少于20人。 2、未经批准的认证点,其认证成绩不予承认。 认证费用 第一轮CSP-S/J组:50元/人(该费用不包括食宿及交通费)。 CSP-J/S第一轮认证试题组成 CSP-J/S第一轮在10月份第三个星期六进行,其中CSP-J1认证时间为周六9:30-11:30,CSP-S1认证时间为周六14:30-16:30。考试时长为2小时,内容为笔试或机试(从2020年开始全部为机试),满分100分。 试题由三部分组成: ① 选择题(共15题,每题2分,共计30分) CSP-S1的前10道题为单选题,后10道题为不定项选择题(只有全部选对才得分,否则不得分);CSP-J1的前15道题都是单选题。 ② 程序阅读理解题(共3题,共计40分) 题目给出一段程序(不一定有关于程序功能的说明),考生通过阅读理解该段程序进行答题,分为选择题和判断题。 ③ 程序完善题(共3题,共计30分) 题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句或语句的一部分并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,选择对应答案 。三题皆为选择题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少儿编程乔老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值