2024年6月CCF—GESP(C++八级)编程能力等级认证试卷
八级
2024
2025-05-16 19:20:05
39次
一、单选题
下面程序的输出为( )。
#include <iostream>
using namespace std;
int main() {
int cnt = 0;
for (int x = 0; x <= 10; x++)
for (int y = 0; y <= 10; y++)
for (int z = 0; z <= 10; z++)
if (x + y + z <= 15)
cnt++;
cout << cnt << endl;
return 0;
} | A. 90 |
B. 91 |
| C. 710 |
D. 711 |
【知识点】 CCF—GESP C++八级
二、判断题
三、编程题
空间跳跃
题面描述
小杨在二维空间中有n个水平挡板,并且挡板之间彼此不重叠,其中第i个挡板处于水平高度hi,左右端点分别位于li 与 ri。
小杨可以在挡板上左右移动,当小杨移动到右端点时,如果再向右移动会竖直掉落,从而落到下方第一个挡板上,移动到左端点时同理。小杨在挡板上每移动1个单位长度会耗费 1个单位时间,掉落时每掉落1 个单位高度也会耗费 1个单位时间。
小杨想知道,从第 s个挡板上的左端点出发到第t个挡板需要耗费的最少时间是多少?
注意:可能无法从第 s个挡板到达到第 t个挡板。
输入格式
第一行包含一个正整数n ,代表挡板数量。
第二行包含两个正整数s,t ,含义如题面所示。
之后 n行,每行包含三个正整数li,ri,hi ,代表第 i个挡板的左右端点位置与高度。
输出格式
输出一个整数代表需要耗费的最少时间,如果无法到达则输出 -1。
输入样例
3 3 1 5 6 3 3 5 6 1 4 100000
输出样例
100001
样例范围
耗费时间最少的移动方案为,从第3个挡板左端点移动到右端点,耗费3个单位时间,然后向右移动掉落到第 2个挡板上,耗费 100000-6=99994个单位时间,之后再向右移动1个单位长度,耗费1个单位时间,最后向右移动掉落到第1个挡板上,耗费3个单位时间。共耗费 3+99994+1+3=100001个单位时间。
数据范围

对于全部数据,保证有1≤n≤1000,1≤li≤ri≤105,1≤hi≤105。
【知识点】 CCF—GESP C++八级
最远点对
题面描述
小杨有一棵包含n个节点的树,这棵树上的任意一个节点要么是白色,要么是黑色。
小杨想知道相距最远的一对不同颜色节点的距离是多少。
输入格式
第一行包含一个正整数 n,代表树的节点数。
第二行包含n个非负整数a1,a2,...,an(对于所有的1≤i≤n,均有ai等于0或1),其中如果ai=0,则节点i的颜色为白色;如果ai=1,则节点i的颜色为黑色。
之后n-1行,每行包含两个正整数xi,yi,代表存在一条连接节点xi和yi的边。
保证输入的树中存在不同颜色的点。
输出格式
输出一个整数,代表相距最远的一对不同颜色节点的距离。
输入样例
5 0 1 0 1 0 1 2 1 3 3 4 3 5
输出样例
3
样例解释
相距最远的不同颜色的一对节点为节点 2 和 5。
数据范围

对于全部数据,保证有1≤n≤105,0≤ai≤1。
【知识点】 CCF—GESP C++八级

的系数,正好满足杨辉三角的规律。当n=10时,二项式展开式中xy9项的系数是( )。
。下面说法错误的是( )。
。



