2023年12月CCF—GESP(C++四级)编程能力等级认证试卷
四级
2023
2023-12-29 14:44:45
99次
一、单选题
输入一个正整数N,想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。下面哪段代码找不到所有的因数对?( )
| A. for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1); |
B. for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1); |
| C. for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("(%d,%d)\n", i-1, i); |
D. for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1); |
【知识点】 CCF—GESP C++四级
二、判断题
三、编程题
田忌赛马
时间限制:1.0 s
内存限制:128.0 MB
问题描述
你要和田忌赛马。你们各自有N匹马,并且要进行N轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。
你的马匹的速度分别为u1,u2,…,uN,田忌的马匹的速度分别为v1,v2,…,vN。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。
输入描述
第一行一个整数 。保证1≤N≤5×104。
接下来一行N个用空格隔开的整数,依次为u1,u2,…,uN,表示你的马匹们的速度。保证1≤ui≤2N。
接下来一行N个用空格隔开的整数,依次为v1,v2,…,vN,表示田忌的马匹们的速度。保证1≤vi≤2N。
输出描述
输出一行,表示你最多能获胜几轮。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
3 1 3 5 2 4 6
样例输出 1
2
样例解释 1
第 1 轮,田忌派出速度为2的马匹,你可以派出速度为3的马匹迎战,本轮你获胜。
第 2 轮,田忌派出速度为4的马匹,你可以派出速度为5的马匹迎战,本轮你获胜。
第 3 轮,田忌派出速度为6的马匹,你可以派出速度为1的马匹迎战,本轮田忌获胜。
如此,你可以赢得 2 轮比赛。
样例输入 2
5 10 3 5 8 7 4 6 1 2 9
样例输出 2
5
【知识点】 CCF—GESP C++四级
小杨的字典
时间限制:1.0 s
内存限制:128.0 MB
问题描述
在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作,小杨制作了一本字典,里面记录了 个 A 语言单词对应的 B 语言单词,巧合的是,这些单词都由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序,帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-[]{}\|;:'",./?<> 和一些 A 语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地,如果遇到不在字典中的单词,请使用大写 UNK 来替换它。
例如,小杨的字典中包含 2 个 A 语言单词 abc 和 d ,它们的 B 语言翻译分别为 a 和 def ,那么我们可以把 A语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. ,其中,单词 abcd 不在词典内,因此我们需要使用 UNK 来替换它。
输入描述
第一行一个整数N,表示词典中的条目数。保证N≤100。
接下来 行,每行两个用单个空格隔开的字符串A,B,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有A不重复;保证A和B的长度不超过10。
最后一行一个字符串S,表示需要翻译的 A 语言文章。保证字符串 的长度不超过1000,保证字符串S只包含小写字母以及标点符号 !()-[]{}\|;:'",./?<> 。
输出描述
输出一行,表示翻译后的结果。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
2 abc a d def abc.d.d.abc.abcd.
样例输出 1
a.def.def.a.UNK.
样例输入 2
3 abc a d def abcd xxxx abc,(d)d!-abc?abcd
样例输出 2
a,(def)def!-a?xxxx
样例输入 3
1
abcdefghij klmnopqrst
!()-[]{}\|;:'",./?<>abcdefghijklmnopqrstuvwxyz样例输出 3
!()-[]{}\|;:'",./?<>UNK 【知识点】 CCF—GESP C++四级

















