通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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; }
②处应填( )
deg[v]== 1
deg[v]== o
deg[v]>1
deg[v]>o
所属试卷:CSP-S1提高级初赛试卷[2023]
以下对 Python 文件处理的描述中,错误的是( )
编写代码获得用户输入的一个三角形的 3 条边长,计算三
具有3个结点的二叉树有( )。
设栈的顺序存储空间为S(0:49),栈底指针botto
已知 x={1:2,2:3},那么表达式 x.get
可以使用内置函数_______查看包含当前作用域内所有
表达式list (map (lambda x:x+5.
表达式 Falset+1的值为___________。
已知 x=[[1,3,3],[2,3,1]],那么表达
若有以下定义和语句,为使变量c1得到字符‘A’,变量c
关于微波通信,下列叙述正确的是( )。
如下为命令终端下的一个截图:则,以下两句的执行结果是:
在Windows9.x环境下共享Unix/Linux中
显示已经挂装的文件系统磁盘inode使用状况的命令是
简述解决忘记root密码的办法。参考答案:1)用Red
查看数据库中所有的数据表用以下哪一项( )
在MySQL中,长文本数据适合用( )类型。
两个栈共享一片连续内存空间时,为提高内存利用率,减少溢
若下图为一段差分曼彻斯特编码信号波形,则其编码的二进制
下列关于 1/0 控制方式的叙述中错误的是( )。
C语言表达式5>2>7>8的值是_____。
求字符串长度的库函数是_____,只写函数名即可。
功能:从低位开始取出长整型变量s中偶数位上的数,依次构
功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为
以下叙述中正确的是。
小明想通过走楼梯来锻炼身体,假设从第 1 层走到第 2
一家四口人,至少两个人生日属于同一月份的概率是(假
NOI 的中文意思是( )。
关于拓扑排序,下面说法正确的是( )
输入: 9 19 29 39输出: _________
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型