A+B Problem(NOI系列比赛必做题)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
一般信奥赛有两种输入输出方式来提交代码,一种叫“标准输入输出”方式,一种叫“文件输入输出”方式。
那么这两种输入输出方式的区别是什么呢?
简单点理解就是:
我们平时上课练习时候在bcoi题库中练习题目,一般都是以标准输入输出方式来提交代码的,但是在CSP-J/S 以及 NOI 系列赛事基本都是以文件输入输出的方式提交代码。
这种赛事提交方式,其实也很简单,只需要在 main
函数开头加入下面两行这样格式的代码即可(两种方式的区别仅此而已)。
如果一场赛事要求说以文件输入输出方式提交代码,那么题目都会给出每道题目的英文题名称,那么你的代码在提交的时候只需要用比赛提供的题目英文名替换掉上述"题目英文名"几个字,然后加入到代码中保存提交即可。(试卷样例见下图2024年CSP-J试卷pdf版中的要求)
如果是在bcoi上,题目要求以文件输入输出方式提交代码,那么会在题目的标题下方出现:”文件IO:myfile“字样,其中的myfile就是该题目的"题目英文名"
题目描述
注意:本题和CSP NOIP考试一样,必须以文件读写的方式,进行提交代码测试
给定两个整数 A 和 B,输出 A+B 的值。保证 A,B 及结果均在 32 位整型范围内。
输入格式
一行,包含两个整数 A,B,中间用单个空格隔开。A 和 B 均在32 位整型范围内。
输出格式
一个整数,即 A+B 的值。保证结果在 32 位整型范围内。
样例数据 1
本题文件读写代码模板
NOI系列赛事代码保存说明
在CSP或者NOIP等比赛中会提供pdf版或者纸质版试卷,在试卷中会明确标明每道题目的英文名称:试卷样例见下图
赛事要求C++代码保存名为:*****.cpp
CSP考试时候,代码保存到考试要求的文件夹内(具体咨询当场监考老师,一般是准考证号为名字的文件夹内,文件名一定要和试卷要求的同名,包括大小写,文件扩展名cpp等;
输入输出方式要求以文件读写形式代替标准输入输出。
注意:输入输出文件名的字母,一定要和试卷要求的一模一样,包括大小写,文件扩展名等;
关于时间和空间限制要求的说明
一般每题都会注明不同的时间要求:
例如以<=1000ms为例,那么大约循环次数在以内,为安全时间
空间要求以<=256M为例:
(以int数据类型为例: ,
上述N表示假如256M空间全部用来存储int类型数据,那么只能存储N个int类型的数据或者
一维数组最大定义到 int array[N]
二维数组最大定义到 int array[a][b];其中a*b<=N;)
通用模板A(输入输出数据量小于10000的时候适用):
★快读模版代码B:(输入输出数据量比较大的时候推荐使用这种方式)
快读模版代码C:(老一代OIer用这种方式,呵呵......)
快读模版代码D:(虽然快,但没必要)
手写快读相对比以上的输入方法要快速,但代码比较繁琐,现在的竞赛中越来越偏向于侧重考察思维能力和算法能力,对于这种卡输入输出的要求越来越少了,所以一般也不常用。
模板选择说明
当输入输出数据不大时候(1000以内)采用模板A,简单方便,输入输出数据比较多(10000次以上)采用模板BCD之一。
模板B注意添加关闭同步语句(反正死记硬背记住模板就好了),然后就可以按照正常的C++输入输出cin cout来写代码,可以使用STL 的string等。这种输入方式是在IO之前将stdio解除绑定,但是这样做了之后要注意不要同时混用cout和printf之类。
模板C使用C语言的scanf和printf输入输出,该方法遇到字符输入的时候要注意格式问题,往往很容易出错,也不能使用string类等
模板D虽然速度是最快的,但是由于比较繁琐,目前的竞赛基本上很少去卡这个时间了,所以万一考试时候写错了某个部分,反而得不偿失了。
模板B和C根据个人喜好选择,但是cin cout scanf printf尽量不要混用。
最后的最后,不要管上面的那些罗里吧嗦的文字了,只要记住以下这段去掉注释后的固定模板B代码(把“myfile”改成试卷上题目要求的文件名,其他部分记住照搬就好了):