通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
数据字典(DD)所定义的对象包含于
函数fun(char*str)功能是判断字符串对称,需
下列叙述中正确的是( )。
以下关于文件的描述中,错误的是( )。
下列程序逆序打印所输入正整数的各位数字,例如输入134
请编一个函数void fun(int tt[M][N]
给定程序中,函数fun的功能是:将a所指4×3矩阵中第
有定义语句:若要从终端给s输入5个字符,错误的输入语句
若有定义语句执行了px=&x;py=&y;之后,输入语
以下叙述中正确的是。
请在下面程序的横线处填上适当字句,以使程序完整,并使程
请在下面的横线处填上适当内容,以使类的定义完整。
若x=0123,则表达式(5+(int)(x)&(-2
简述在虚拟机中安装Red Hat Linux 9.0
完整性规则能够保证实体的唯一性和可区分性。
在INSERT触发器中,可以引用一个名为 ______
在采用客户机/服务器体系结构的数据库应用系统中,应该将
将一棵树转成二叉树,根结点没有右子树。
下面关于数据备份的说法,错误选项是。
单元测试一般以 测试为主, 测试为辅。
执行下列语句后,b的十进制值是_____。
有以下程序程序执行后的输出结果是
有以下结构体说明、变量定义和赋值语句struct ST
若有以下程序则程序的输出结果是
设二叉树的前序序列为ABDEGHCFJ,中序序列为DB
方程a*b = (aorb) *(aandb),在a,
如图所示,图中每条边上的数字表示该边的长度,则从 A
如果平面上任取 n个整点(横纵坐标都是整数),其中一定
有 6 个城市,任何两个城市之间都有一条道路连接, 6
设A=B=D=true,C=E=false,以下逻辑运
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2