全国信息学奥林匹克联赛( NOIP201 7)复赛 普及组
第 1页共 9页
CCF 全国信息学奥林匹克联赛 ( NOIP20 17) 复赛
普及组
(请选手务必仔细阅读本页内容)
一.题目概况
中文题目名称 成绩 图书管理员 棋盘 跳房子
英文题目与子目录名 score librarian chess jump
可执行文件名 score librarian chess jump
输入文件名 score .in librarian .in chess .in jump .in
输出文件名 score .out librarian .out chess .out jump .out
每个测试点时限 1秒 1秒 1秒 2秒
测试点数目 10 10 20 10
每个测试点分值 10 10 5 10
附加样例文件 有 有 有 有
结果比较方式 全文比较 ( 过滤行末空格及文末回车 )
题目类型 传统 传统 传统 传统
运行 内存上限 256 M 256 M 256M 256M
二.提交源程序文件名
对于 C++ 语言 score .cpp librarian .cpp chess .cpp jump .cpp
对于 C语言 score .c librarian .c chess .c jump .c
对于 pascal 语言 score .pas librarian .pas chess .pas jump .pas
三.编译命令(不包含任何优化开关)
对于 C++ 语言 g++ -o score
score .cpp -lm
g++ -o librarian
librarian .cpp -lm
g++ -o chess
chess .cpp -lm
g++ -o jump
jump .cpp -lm
对于 C语言 gcc -o score
score .c -lm
gcc -o librarian
librarian .c -lm
gcc -o chess
chess .c -lm
gcc -o jump
jump .c -lm
对于 pascal 语言 fpc score .pas fpc librarian .pas fpc chess .pas fpc jump .pas
注意 事项 :
1、 文件名 (程序名和输入输出文件名) 必须使用 英文 小写 。
2、 C/C++ 中函数 main() 的返回值类型必须是 int ,程序正常结束时的返回值必须是 0。
3、 全国统一评测时采用的机器配置为: CPU AMD Athlon(tm) II x2 240 processor , 2.8 GHz ,
内存 4G,上述时限以此配置为准。
4、只提供 Linux 格式附加样例文件。
5、 提交的程序代码文件的放置位置请参照各省的具体要求 。
6、特别提醒: 评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以其为准 。
全国信息学奥林匹克联赛( NOIP201 7)复赛 普及组
第 2页共 9页
1. 成绩
(score .cpp/c/pas )
【问题描述】
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。
【输入 格式 】
输入文件名为 score .in 。
输入文件只有 1行,包含三个非负 整数 A、 B、 C,分别表示牛牛的作业成绩、小测
成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。
【输出 格式 】
输出文件名为 score .out 。
输出文件只有 1行,包含一个 整数,即 牛牛这门课程的总成绩,满分也是 100 分 。
【输入输出样例 1】
score .in score .out
100 100 80
90
见选手目录下的 score/score1 .in 和 score/score1 .ans 。
【 输入输出样例 1说明 】
牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成
绩是 100 × 20% + 100 × 30% + 80 × 50% = 20 + 30 + 40 = 90 。
【输入输出样例 2】
score .in score .out
60 90 80
79
见选手目录下的 score/score2 .in 和 score/score2 .ans 。
【 输入输出样例 2说明 】
牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是
60 × 20% + 90 × 30% + 80 × 50% = 12 + 27 + 40 = 79 。
【数据说明】
对于 30% 的数据, A= B= 0。
对于另外 30% 的数据, A= B= 100 。
对于 100% 的数据, 0≤ A、 B、 C≤ 100 且 A、 B、 C 都是 10 的整数倍 。
全国信息学奥林匹克联赛( NOIP201 7)复赛 普及组
第 3页共 9页
2. 图书管理员
(librarian .cpp/c/pas)
【问题描述】
图书馆中 每 本书 都 有一个图书 编码 ,可以 用于 快速检索图书, 这个图书 编码 是一个
正整数。
每 位 借书的 读者手中有一个需 求码,这个需求码也是一个正整数。如果一本书的图
书 编码 恰好以 读者的需求码结尾,那么这本书 就 是这位读者所需要的。
小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书 编码 ,她请你帮她写
一个程序,对于每一位读者,求出他所需要的书中 图书 编码 最小的那本书,如果没有他
需要的书,请输出 -1。
【输入格式】
输入文件名为 librarian.in 。
输入文件的第一行,包含两个正整数 n和 q
NOIP2017_Junior,2017年信息学奥赛NOIP普及组复赛C++真题