试卷 青少年软件编程(C/C++)等级考试三级真题试卷(2022年12月)
青少年软件编程(C/C++)等级考试三级真题试卷(2022年12月)
编程题
第 1 题    问答题

鸡兔同笼

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

时间限制:1000

内存限制:65536

输入

一行,一个正整数a (a < 32768)。

输出

一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。 如果没有满足要求的答案,则输出两个0,中间用一个空格分开。


样例输入

20

样例输出

5 10
第 2 题    问答题

猴子吃桃

海滩上有一堆桃子,N只猴子来分。第一只猴子把这堆桃子平均分为N份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子接着把剩下的桃子平均分成N份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第三、第四、……,第N只猴子仍是最终剩下的桃子分成N份,扔掉多了的一个,并拿走一份。

编写程序,输入猴子的数量N,输出海滩上最少的桃子数,使得每只猴子都可吃到桃子。


时间限制:3000

内存限制:65536

输入

一个整数N。

输出

输出当猴子数量为N时海滩上最少的桃子数。结果保证在int型范围内。


样例输入

2

样例输出

7
第 3 题    问答题

扩号匹配问题(2022.12)

在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注.

时间限制:3000

内存限制:65536

输入

输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100

输出

对每组输出数据,输出两行,第一行包含原始输入字符,第二行由"$","?"和空格组成,"$"和"?"表示与之对应的左括号和右括号不能匹配。


样例输入

((ABCD(x)
)(rttyy())sss)(

样例输出

((ABCD(x)
$$
)(rttyy())sss)(
?            ?$
第 4 题    问答题

上台阶

楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。

时间限制:1000

内存限制:65536

输入

输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。

输出

每一行输出对应一行输入的结果,即为走法的数目。


样例输入

1
2
3
4
0

样例输出

1
2
4
7
第 5 题    问答题

田忌赛马

在田忌赛马的故事中,孙膑用自己的下等马对战对手的上等马,自己上等马对阵对手的中等马,自己的中等马对阵对手的下等马,从而赢得了胜利。现在即将进行的是N匹马的赛马比赛。双方队伍的马各分为N等。已知只有当我方马的等级比对方马等级高X等以上(包含X)时,我方才可以取得这场比赛的胜利。如果在N场比赛中我方的胜场数大于对方,则我方取得最终的胜利。现在已知对方这N场比赛的出战方案,请计算所有令我方最终获胜的出战方案。

时间限制:1000

内存限制:65536

输入

第一行两个整数,N和X。N≤9, 0 ≤ X < N。 第二行N个正整数,A(1)....A(N)。A(i)表示第i场比赛对方马的等级,1≤i≤N。等级越高越强

输出

按字典序输出所有我方最终获胜的方案,每个方案一行。每行是N个正整数,第i个数表示我方第i场比赛马的等级。


样例输入

样例1输入

3 1
3 2 1

样例2输入

3 0
3 1 2


样例输出

样例1输出

1 3 2

样例2输出

1 2 3
1 3 2
2 1 3
3 1 2
3 2 1
答题卡
编程题
1 2 3 4 5
题目总数:5
总分数:100
时间:不限时
QQ
公众号
客服
扫一扫