版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年6月GESP编程能力等级认证C++八级真题(含答案)一、单选题(每题2分,共30分)。1.从7本不同的算法书和5本不同的数学书中选出4本,要求两类书都至少选1本,共有()种不同选法。A.420B.455C.465D.495答案:B。2.题6个人排成一排照相,其中甲、乙两人不能相邻,共有()种不同排法。A.240B.480C.600D.720答案:B。3.展开式中,常数项的系数为()。A.6B.12C.15D.20答案:C。4.下面代码用于预处理组合数,横线处应填入的是()。for(inti=0;i<=n;i++){c[i][0]=c[i][i]=1;for(intj=1;j<i;j++)c[i][j]=__________;}A.c[i-1][j-1]+c[i-1][j]B.c[i][j-1]+c[i-1][j-1]C.c[i-1][j]+c[i][j+1]D.c[i][j-1]*c[i-1][j]答案:A。5.下列程序输出的值为()。#include<iostream>usingnamespacestd;longlongqpow(longlonga,longlongb,longlongmod){longlongans=1%mod;while(b){if(b&1)ans=ans*a%mod;a=a*a%mod;b>>=1;}returnans;}intmain(){cout<<qpow(3,20,17)<<endl;return0;}A.1B.4C.13D.16答案:C。6.归并排序每次把长度为n的序列分成两个规模约为n/2的子序列,递归排序后再用线性时间合并。该算法的时间复杂度通常为()。A.O(n)B.O(n2)C.O(logn)D.O(nlogn)答案:D。7.在平面直角坐标系中,三角形三个顶点为A(1,1)、B(5,2)、C(3,6),该三角形面积为()。A.9B.10C.12D.18答案:A。8.某程序需要判断点P(x,y)是否在以原点为圆心、半径为5的圆内或圆上。下列判断条件正确的是()。A.x*x+y*y<=25B.abs(x)+abs(y)<=5C.x*x-y*y<=25D.x+y<=5答案:A。9.某无向带权图有边(1,2,4)、(1,3,2)、(2,3,1)、(2,4,5)、(3,4,8)、(3,5,10)、(4,5,2)。该图最小生成树的总权值为()。A.7B.8C.9D.10答案:D。10.有向非负权图边为1→2(3)、2→4(4)、1→3(10)、3→4(1)、2→3(2)。使用Dijkstra算法从1号顶点出发到4号顶点的最短距离为()。A.6B.7C.8D.11答案:A。11.下列代码片段的时间复杂度为()。longlongs=0;for(inti=1;i<=n;i++){for(intj=1;j*j<=n;j++){s+=i+j;}}A.O(n)B.O(nlogn)C.D.O(n2)答案:C。12.某优化问题的答案是[l,M]内的整数,存在单调判定函数check(x),且每次判定的时间复杂度为O(n)。使用二分答案求最小可行值,整体时间复杂度通常为()。A.O(nM)B.O(nlogM)C.O(Mlogn)D.O(n+M)答案:B。13.下列线性筛的代码片段中,当枚举到质数p且i%p==0时,使用break;语句停止继续枚举。这样做的主要目的是()。for(inti=2;i<=n;++i){if(!is_composite[i])primes.push_back(i);for(intp:primes){if(i*p>n)break;is_composite[i*p]=true;if(i%p==0)break;//这条语句的目的是?}}A.保证递归深度不超过O(logn)。B.保证每个合数只被它的最小质因子筛去一次。C.保证每个素数都被标记为合数。D.把筛法时间复杂度提高到O(nlogn)。答案:B。14.在C++中,关于类的继承和构造、析构顺序,下列说法正确的是()。A.派生类可以直接访问基类的private成员。B.基类的protected成员在私有继承后会变成派生类的public成员。C.创建派生类对象时,会先调用基类构造函数,再调用派生类构造函数。D.销毁派生类对象时,会先调用基类析构函数,再调用派生类析构函数。答案:C。15.将4个元素按1,2,3,4的顺序入栈,在该过程中可随时插入出栈操作。下列序列中不可能作为出栈序列的是()。A.1,2,3,4B.2,1,4,3C.3,2,1,4D.3,1,2,4答案:D。二、判断题(每题2分,共20分)。16.若一项任务可从两种互斥的方案中选择一种完成,其中,方案A有m种做法,方案B有n种做法,则总做法数为m+n。()。答案:正确。17.将n个不同元素围成一圈,若只把旋转视为同一种排法、翻转仍视为不同排法,则方案数为(n-1)!。()。答案:正确。18.从n个不同元素中可重复地选取k个且不考虑顺序,方案数为C(n+k,k)。()。答案:错误。19.杨辉三角中的组合数满足C(n,k)=C(n-1,k)+C(n-2,k)。()。答案:错误。20.快速幂通过二进制拆分指数,可以在O(logb)时间内计算abmodm。()。答案:正确。21.只要图中不存在负权环,Dijkstra算法就一定能正确处理带负权边的图。()。答案:错误。22.若一张连通无向图所有边权两两不同,则它的最小生成树一定唯一。()。答案:正确。23.判断点(x,y)是否在以原点为圆心、半径为r的圆内或圆上时,可以比较x2+y2与r2,不必先开平方。()。答案:正确。24.若能写出判定函数check(x),表示“答案为x时是否可行”,即使check(x)不满足单调性,也一定可以使用二分答案求最优解。()。答案:错误。25.归并排序是一种稳定排序算法,常见实现的时间复杂度为O(nlogn)。()。答案:正确。三、编程题(每题25分,共50分)。26.试题名称:线网建设。时间限制:1.0s。内存限制:512.0MB。题目描述:A市有n座基站需要通过线网互相连接。第i座基站位于二维平面上坐标(xi,yi)处。第i座基站与第j座基站之间的距离定义为。如果两座基站之间的距离不超过给定的整数l,那么可以修建连接这两座基站的线路,线路长度为基站间的距离。如果从一座基站出发,经过一系列线网中的线路可以到达另一座基站,则称这两座基站是互相连接的。请问使得n座基站两两之间都互相连接,需要修建的线路总长度最小是多少?如果不能修建满足条件的线网,则输出Impossible。输入格式:第一行,两个正整数n,l,分别表示基站数量与线路长度上限。接下来n行,每行两个整数xi,yi,表示基站的坐标。输出格式:输出一行。如果能修建满足条件的线网,则输出需要修建的最小线路总长度,保留两位小数。否则输出Impossible。输入样例1:4210-1-10011输出样例1:3.41输入样例2:4110-1-10011输出样例2:Impossible数据范围:对于40%的测试点,保证1≤n≤100。对于所有测试点,保证1≤n≤500,1≤l≤100,-100≤xi,yi≤100。参考程序:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>usingnamespacestd;constintN=510;constintE=N*N;intn,l;intx[N],y[N];intp[E],u[E],v[E],cnt;intf[N],t=0;doubled[E],ans=0;intgetf(intu){returnf[u]?f[u]=getf(f[u]):u;}boolcmp(inta,intb){returnd[a]<d[b];}intmain(){cin>>n>>l;for(inti=1;i<=n;i++)cin>>x[i]>>y[i];for(inti=1;i<=n;i++)for(intj=i+1;j<=n;j++){intdx=x[i]-x[j],dy=y[i]-y[j];if(dx*dx+dy*dy>l*l)continue;cnt++;p[cnt]=cnt;u[cnt]=i;v[cnt]=j;d[cnt]=sqrt(dx*dx+dy*dy);}sort(p+1,p+cnt+1,cmp);for(inti=1;i<=cnt;i++){intpu=u[p[i]],pv=v[p[i]];if(getf(pu)==getf(pv))continue;t++;ans+=d[p[i]];f[getf(pu)]=pv;}if(t==n-1)printf("%.2lf\n",ans);elseprintf("Impossible\n");return0;}27.试题名称:堆石子。时间限制:1.0s。内存限制:512.0MB。题目描述:有m堆石子,编号为1,2,…,m,其石子数量分别记为a1,a2,…,am。现在要求第1堆石子恰有n个(即a1=n),并且此后每堆石子的数量严格小于前一堆,即ai<ai-1(2≤i≤m)。此外,每堆至少需要有一个石子,即ai≥1(1≤i≤m)。在总石子数量不设限制的情况下,给定m≥2,n≥1,有多少个满足要求的石子堆放方案?两个方案不同,当且仅当,两个方案中至少有一堆石子数量不同。如果不存在满足要求的方案,输出0。由于方案数可能很大,请输出方案数对109+7取模后的结果。输入格式:输入一行两个正整数m和n。输出格式:输出一个整数,表示总方案数对109+7取模后的结果。输入样例1:35输出样例1:6样例解释1:有(5,4,3),(5,4,2),(5,4,1),(5,3,2),(5,3,1)和(5,2,1)共计6种方案。数据范围:参考程序:#include<iostream>usingnamespacestd;constintMOD=(int)1e9+7;intqpow(intbase,intexp){if(!exp)return1;if(exp&1)return(longlong)base*qpow((longlong)base*base%MOD,exp>>1)%MOD;returnqpow((longlong)base*base%MOD,exp>>1);}intcomb(intn,intm){if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全管理师操作技能考核试卷含答案
- 木材检验员安全宣贯评优考核试卷含答案
- 采油测试工安全规程水平考核试卷含答案
- 图书馆服务员操作评估强化考核试卷含答案
- 人造花制作工工艺规程评优考核试卷含答案
- 溶剂培菌工岗中安全培训效果考核试卷含答案
- 避雷器装配工班组管理测试考核试卷含答案
- 下沉广场防倒灌智能闸门指南
- 海水冷却系统操作员岗位安全模拟考核试卷含答案
- 木地板表面装饰工岗前工艺规程考核试卷含答案
- 小红书运动户外行业场景趋势与用户决策
- 2026海南热带海洋学院招聘员额制辅导员8人参考题库及答案详解(各地真题)
- 2026年官方兽医考试题及答案试卷+答案
- 2026年河北省中考化学试卷(含答案)
- 夜间道路沥青路面摊铺施工方案
- 2026年二季度中国经济观察报告
- GB/T 47335.1-2026中医药诊断词汇第1部分:舌象
- 诊所院内感染管理制度
- 《建筑法》培训教学课件
- 2026年中央一号文件解读:农村集体经营性建设用地入市规范
- 2026及未来5年中国锌合金行业市场全景评估及发展前景研判报告
评论
0/150
提交评论