通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2022] 中有题目如下:
第1题
#include<iostream> using namespace std; const int MAXN = 105; int n, m, k, val[MAXN]; int temp[MAXN], cnt[MAXN]; void init() { cin >> n >> k; for (int i = 0; i < n; i++) cin >> val[i]; int maximum = val[0]; for (int i = 1; i < n; i++) if (val[i] > maximum) maximum = val[i]; m = 1; while (maximum >= k) { maximum /= k; m++; } } void solve() { int base = 1; for (int i = 0; i < m; i++) { for (int j = 0; j < k; j++) cnt[j] = 0; for (int j = 0; j < n; j++) cnt[val[j] / base % k]++; for (int j = 1; j < k; j++) cnt[j] += cnt[j - 1]; for (int j = n - 1; j >= 0; j--) { temp[cnt[val[j] / base % k] - 1] = val[j]; cnt[val[j] / base % k]--; } for (int j = 0; j < n; j++) val[j] = temp[j]; base *= k; } } int main() { init(); solve(); for (int i = 0; i < n; i++) cout << val[i] << ' '; cout << endl; return 0; }
假设输入的 n 为不大于 100 的正整数,k 为不小于 2 且不大于 100 的正整数,val[i]在 int 表示范围内,当输入的 k 比 val[i]的最大值还大时,该算法退化为( )算法。
选择排序
冒泡排序
计数排序
桶排序
所属试卷:CSP-S1提高级初赛试卷[2022]
有如下类定义(抽象类、纯虚函数相关),关于上述类定义,
以下程序的执行结果是。
有如下程序:运行时的输出结果是。
下列关于运算符重载的说法错误的是
算法时间复杂度的度量方法是( )。
有以下程序:程序的运行结果是。
若a是数值类型,则逻辑表达式(a==1)ǁ(a!=1)
以下叙述中错误的是( )。
下面程序用STL的条件计数算法和自定义的函数对象对一个
表达式'He11o wor1d!'[-4:]的值为__
已知有函数定义 def demo(*p):return
下面程序的运行结果是___________。
请读以下函数假设机器的无符号整数字长为16位,若调用此
( )是一种总线或星型结构的局域网技术
vi编辑器有哪几种工作模式?如何在这几种工作模式之间转
Linux文件系统中每个文件用_______来标识。
Armstrong公理系统的三条推理规则是自反律、增广
在UPDATE触发器中,可以引用一个名为 _____的
下列正确的命令是( )
成本估计方法主要有 、 和算法模型估计三种类型
考虑对 n 个数进行排序,以下最坏时间复杂度低于 O
设有以下共用体类型说明和变量定义,则变量a在内存所占字
预处理命令行都必须以_____号开始。
请编写函数fun,其功能是:将所有大于1小于整数m的非
假设输入的 n 和 d[i] 都是不超过 10000的
广度优先搜索时,一定需要用到的数据结构是( )。
一棵二叉树如右图所示,若采用顺序存储结构,即用一 维数
在 1和 2015之间(包括 1和 2015在内)不能
输入: 5 296 -8 0 16 87输出: __
全国信息学奥林匹克的官方网站为参与信息学竞赛的老师同学
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2