通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-J1入门级初赛试卷[2020] 中有题目如下:
第1题
(最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个所选的区间中)。保证答案存在,求所选区间个数的最小值。
输入第一行包含两个整数 n 和 m(1≤n≤5000, 1≤m≤109)。
接下来 n 行,每行两个证书 ai,bi(0≤ai,bi≤m)。
提示:使用贪心法解决这个问题。先用 Θ(n^2) 的时间复杂度排序,然后贪心选择这些区间。
试补全程序。
#include <iostream> using namespace std; const int MAXN = 5000; int n, m; struct segment { int a, b; } A[MAXN]; void sort() // 排序 { for (int i = 0; i < n; i++) for (int j = 1; j < n; j++) if (①) { segment t = A[j]; ② } } int main() { cin >> n >> m; for (int i = 0; i < n; i++) cin >> A[i].a >> A[i].b; sort(); int p = 1; for (int i = 1; i < n; i++) if (③) A[p++] = A[i]; n = p; int ans = 0, r = 0; int q = 0; while (r < m) { while (④) q++; ⑤; ans++; } cout << ans << endl; return 0; }
② 处应填( )
A[j + 1] = A[j]; A[j] = t;
A[j - 1] = A[j]; A[j] = t;
A[j] = A[j + 1]; A[j + 1] = t;
A[j] = A[j - 1]; A[j - 1] = t;
所属试卷:CSP-J1入门级初赛试卷[2020]
有如下程序(if-else判断输入字符相关),输入字符
下面程序的输出结果是。
给定程序MODI1.C中函数fun的功能是:读入一个字
有以下程序程序运行后的输出结果是( )。
有以下程序:程序的运行结果是。
有以下程序程序运行后的输出结果是。
以下叙述中正确的是。
表达式int('123',8)的值为_________
#编写程序,其功能是:用for循环语向求1到n之间所有
表达式type(3+4j)in(int,float,c
当a=3,b=2,c=1时,表达式f=a>b>c的值是
以下程序的功能是判断输入的某个年份是否是闰年,请填空。
若以下程序时输入:-2<回车>,则程序的输出结果是__
RPM有5种基本操作模式,即:______
对文件进行归档的命令为( )
你的系统使用增量备份策略,当需要恢复系统时,你需要按什
通常rpm软件包会包含( )
在数据库的E-R图中,菱形框表达的是实体集之间的
MySql数据库中具体实现备份数据库的方法很多,可以分
下面关于索引的叙述不正确的是
T-SQL语言中,删除记录的命令是
对于顺序存储的线性表,访问结点和增加、删除结点的时间复
已知f(n)=n!=n×(n-1)×(n-2)×···
某计算机采用16位定长指令字格式,操作码位数和寻址方式
以下哪种功能没有涉及 C++语言的面向对象特性支持(
假设输入的x是不超过1000的自然数,在执行完init
编写一个函数fun,从num个字符串中找出最长的一个字
输入:7aaaababbbaaaaaacccaa输出:
输入:Hello, my name is Lostmo
输入:5 2-1 42 -1 -2-1 6 4 03
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2