CCF NOIP2017 初赛普及组 C++语言试题及参考答案
更新时间:2024-06-19 13:22:01 阅读量: 综合文库 文档下载
- ccf推荐度:
- 相关推荐
第二十三届全国青少年信息学奥林匹克联赛初赛
普及组 C++语言试题
竞赛时间:2017年10月14日 14:30~16:30
选手注意:
●试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)
1. 在 8 位二进制补码中,10101011 表示的数是十进制下的( )。 A. 43 B. -85 C. -43 D. -84
2. 计算机存储数据的基本单位是( )。 A. bit B. Byte C. GB D. KB
3.下列协议中与电子邮件无关的是( )。 A. POP3 B. SMTP C. WTO D. IMAP
4. 分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为( )。 A. 937.5KB B. 4218.75KB C. 4320KB D. 2880KB
5. 计算机应用的最早领域是( )。
A. 数值计算 B. 人工智能 C. 机器人 D. 过程控制
6.下列不属于面向对象程序设计语言的是( )。 A. C B. C++ C. Java D. C#
7. NOI 的中文意思是( )。
A. 中国信息学联赛 B. 全国青少年信息学奥林匹克竞赛 C. 中国青少年信息学奥林匹克竞赛 D. 中国计算机协会
8. 2017 年 10 月 1 日是星期日,1999 年 10 月 1 日是( )。 A. 星期三 B. 星期日 C. 星期五 D. 星期二
9.甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3门,则不同的选修方案共有( )种。 A. 36 B. 48 C. 96 D. 192
10. 设 G 是有 n 个结点、m 条边(n ≤ m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。
A. m – n + 1 B. m - n C. m + n + 1 D. n – m + 1
11. 对于给定的序列{ak},我们把 (i, j) 称为逆序对当且仅当 i < j 且 ai > aj。那么 序列 1, 7, 2, 3, 5, 4 的逆序对数为( )个。 A. 4 B. 5 C. 6 D. 7
12. 表达式 a * (b + c) * d 的后缀形式是( )。 A. a b c d * + * B. a b c + * d * C. a * b c + * d D. b + c * a * d
13.向一个栈顶指针为 hs 的链式栈中插入一个指针 s 指向的结点时,应执行( )。 A.hs->next = s; B.s->next = hs; hs = s;
C.s->next = hs->next; hs->next = s; D.s->next = hs; hs = hs->next;
14. 若串 S = “copyright”,其子串的个数是( )。 A. 72 B. 45 C. 46 D. 36
15. 十进制小数 13.375 对应的二进制数是( )。
A. 1101.011 B. 1011.011 C. 1101.101 D. 1010.01
16. 对于入栈顺序为 a, b, c, d, e, f, g 的序列,下列( )不可能是合法的出栈序 列。
A. a, b, c, d, e, f, g B. a, d, c, b, e, g, f C. a, d, b, c, g, f, e D. g, f, e, d, c, b, a
17.设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做( )次比较。 A.n2 B. n log n C. 2n D. 2n - 1
18. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。 A. 2020 B. 2021 C. 2022 D. 2023
19. 一家四口人,至少两个人生日属于同一月份的概率是( )(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)。 A. 1/12 B. 1/144 C. 41/96 D. 3/4
20. 以下和计算机领域密切相关的奖项是( )。
A. 奥斯卡奖 B. 图灵奖 C. 诺贝尔奖 D. 普利策奖
二、问题求解(共 2 题,每题 5 分,共计 10 分)
1.一个人站在坐标(0, 0)处,面朝 x 轴正方向。第一轮,他向前走 1 单位距离,然后右转;第二轮,他向前走 2 单位距离,然后右转;第三轮,他向前走 3 单位距离,然后右转……他一直这么走下去。请问第 2017 轮后,他的坐标是:(_________,_________)。(请在答题纸上用逗号隔开两空答案)
2.如下图所示,共有 13 个格子。对任何一个格子进行一次操作,会使得它自己以及与它上下左右相邻的格子中的数字改变(由 1 变 0,或由 0 变 1)。现在要使得所有的格子中的数字都变为 0,至少需要_________次操作。
三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
1.#include using namespace std; int main() { int t[256]; string s; int i; cin >> s;
for (i = 0; i < 256; i++) t[i] = 0; for (i = 0; i < s.length(); i++) t[s[i]]++; for (i = 0; i < s.length(); i++) if (t[s[i]] == 1) { cout << s[i] << endl; return 0; }
cout << \}
输入:xyzxyw 输出:_________
2.#include using namespace std; int g(int m, int n, int x) { int ans = 0; int i;
if (n == 1) return 1;
for (i = x; i <= m / n; i++) ans += g(m - i, n - 1, i); return ans; } int main() { int t, m, n; cin >> m >> n;
cout << g(m, n, 0) << endl; return 0; }
输入:7 3 输出:_________
3.#include using namespace std; int main() { string ch; int a[200]; int b[200]; int n, i, t, res; cin >> ch; n = ch.length();
for (i = 0; i < 200; i++) b[i] = 0;
for (i = 1; i <= n; i++) { a[i] = ch[i - 1] - '0'; b[i] = b[i - 1] + a[i]; }
res = b[n]; t = 0;
for (i = n; i > 0; i--) { if (a[i] == 0) t++;
if (b[i - 1] + t < res) res = b[i - 1] + t; }
cout << res << endl; return 0; }
输入:1001101011001101101011110001 输出:_________
4.#include using namespace std; int main() { int n, m; cin >> n >> m; int x = 1;
int y = 1; int dx = 1; int dy = 1; int cnt = 0; while (cnt != 2) { cnt = 0; x= x + dx; y= y + dy;
if (x == 1 || x == n) { ++cnt; dx = -dx;
}
if (y == 1 || y == m) { ++cnt; dy = -dy; } }
cout << x << \}
输入 1:4 3
输出 1:_________(3 分) 输入 2:2017 1014
输出 2:_________(5 分)
四、完善程序(共 2 题,每题 14 分,共计 28 分)
1.(快速幂)请完善下面的程序,该程序使用分治法求xp mod m 的值。(第一空 2 分,其余 3 分)
输入:三个不超过 10000 的正整数 x,p,m。 输出:xp mod m 的值。
提示:若 p 为偶数,xp=(x2)p/2;若 p 为奇数,xp=x*(x2)(p-1)/2。
#include using namespace std;
int x, p, m, i, result;
int main() { cin >> x >> p >> m; result = (1) ; while ( (2) ) { if (p % 2 == 1)
result = (3) ; p /= 2;
x = (4) ;
}
cout << (5) << endl; return 0; }
2.(切割绳子)有 n 条绳子,每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切割,但不可以连接。现在要从这些绳子中切割出 m 条长度相同的绳段,求绳段的最大长度是多少。(第一、二空 2.5 分,其余 3 分)
输入:第一行是一个不超过 100 的正整数 n,第二行是 n 个不超过106的正整数,表示每条绳子的长度,第三行是一个不超过108的正整数 m。 输出:绳段的最大长度,若无法切割,输出 Failed。
#include using namespace std;
int n, m, i, lbound, ubound, mid, count; int len[100]; // 绳子长度
int main() { cin >> n; count = 0; for (i = 0; i < n; i++) { cin >> len[i]; (1) ; } cin >> m;
if ( (2) ) { cout << \return 0; }
lbound = 1; ubound = 1000000; while ( (3) ) { mid = (4) ; count = 0;
for (i = 0; i < n; i++) (5) ;
if (count < m) ubound = mid - 1; else
lbound = mid; }
cout << lbound << endl; return 0; }
正在阅读:
CCF NOIP2017 初赛普及组 C++语言试题及参考答案06-19
地坪漆项目可行性研究报告05-21
谁不说俺家乡美作文800字07-15
剪纸的故事作文550字06-22
中级房地产经济第十一章房地产金融章节练习(2014-09-15)03-26
做年菜作文500字07-06
滁州拓展机构哪家好? - 图文06-02
《白鹿原》的女性悲剧形象分析06-05
全套人教版小学五年级数学说课稿01-13
材料力学第三章扭转复习题06-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 初赛
- 试题
- 普及
- NOIP2017
- 答案
- 语言
- 参考
- CCF
- 2017-2022年中国轮胎压力检测系统行业市场发展现状及十三五发展
- 2012-2013学年第一学期七年级生物期末试卷1
- 财务人员配备、晋升、考核、薪资制度
- 2011-2012《大学物理A1》半期考试试卷 2
- 2015-2020年中国滑板市场监测及投资前景报告 - 图文
- 浅谈培养中学生网络道德素养的方法
- 2014高考英语高频动词词组内部资料
- 市长在城市建设工作推进会议上的讲话
- 重庆省造价工程师土建计量:铝酸盐水泥考试题
- 辽宁省葫芦岛市第八高级中学2016届高三上学期第二次月考语文试题
- 关于成立创新工作小组的通知
- 毕业论文无线火灾报警系统
- 水性防锈剂总结文档
- 中南大学 专升本《会计学原理》在线作业二参考答案 7
- 九年级数学《一元二次方程》小结与复习学案
- 2011医疗质量检查汇报材料 终
- 级动火管理制度
- 论我国夫妻约定财产制
- 08金融会计习题
- 劳动安全事故案例