通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2023] 中有题目如下:
第1题
(第k小路径)给定一张.个点.条边的有向无环图,顶点编号从0到n-1。对于一条路径,我们定义"路径序列"为该路径从起点出发依次经过的顶点编号构成的序列。求所有至少包含一个点的简单路径中,“路径序列"字典序第k小的路径。保证存在至少k条路径。上述参数满足1≤n.m≤105和1≤k≤1018。
在程序中,我们求出从每个点出发的路径数量。超过1018的数都用1018表示。然后我们根据k的值和每个顶点的路径数量,确定路径的起点,然后可以类似地依次求出路径中的每个点。
试补全程序。
#include <iostream> #include <algorithm> #include <vector> const int MAXN = 100000; constlonglongLIM=100000000000000000011; int n,m,deg[MAXN]; std::vector<int> E[MAXN]; long long k,f[MAXN]; int next(std::vector<int>cand,long long &k){ std::sort(cand.begin(),cand.end()); for(int u : cand){ if (①)return u; k -= f[u]; } return -1; } int main(){ std::cin>>n>>m>>k; for(inti=0;i<m;++i){ int u, v; std::cin >>u >> v;//一条从u到v的边 E[u].push_back(v); ++deg[v]; } std::vector<int> Q; for(inti=0;i<n;++i) if (!deg[i])Q.push_back(i); for(inti=0;i<n;++i){ int u = Q[i]; for (int v : E[u]){ if (②)Q.push_back(v); --deg[v]; } } std::reverse(Q.begin(), Q.end()); for(int u : Q){ f[u]= 1; for(int v:E[u])f[u]=③; } int u = next(Q,k); std::cout << u << std::endl; while(④){ ⑤; u = next(E[u],k); std::cout << u << std::endl; } return 0; }
③处应填( )
std::min(f[u]+ f[v],LIM)
std::min(f[u]+ f[v]+ 1,LIM)
std::min(f[u]* f[v],LIM)
std::min(f[u]*(f[v]+ 1),LIM)
所属试卷:CSP-S1提高级初赛试卷[2023]
在下列模式中,能够给出数据库物理存储结构与物理存取方法
下列关于成员函数特征的描述中,错误的是。
下列给定的程序中,函数fun的功能是:求出以下分数
有以下程序:程序的运行结果是( )。
下面属于黑盒测试方法的是( )。
有以下程序程序运行后的输出结果是( )。
以下选项中关于程序模块化的叙述错误的是( )。
Python标准库__________中提供了计算MD
以下不是Python的注释方式是。
已知列表x=[1,2,3,4],那么执行语句del x
表达式isinstance('abcdefg',str
若x,y,x,z均为int型变量,则描述"x或y中有一
字符串"ab\n\\012\\\""的长度是_____
以下程序段( )。
将/home/stu目录下所有的.gz压缩文件解压缩,
在Linux系统中,以( )方式访问设备。
Linux内核引导时,从文件 中读取要加载的文
关系代数中专门的关系运算包括: 、投影、连接和除法。
下面哪一个不是MySQL默认创建的数据库( )。
若short型变量x=-8190,则x的机器数为( )
有 6 个元素,按照 6、5、4、3、2、1 的顺序进
将函数funl的入口地址赋给指针变量p的语句是____
则表达式x==y>z的值为_____。
设 A 是 n 个实数的数组,考虑下面的递归算法:
下列算法中运用分治思想的有( )。
下面哪种软件不属于即时通信软件( )。
输入:12 172 4 6 9 11 15 17 18
(烽火传递) 烽火台又称烽燧,是重要的军事防御设施,一
2E+03表示( )
( 取石子游戏 ) 现有 5 堆石子,石子数依次为 3
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2