Path 在给定约束条件下,求具有最大值和的图(循环)中简单路径的长度
给定:无权无向图(循环)G(V,E),每个顶点有两个给定的值(例如A和B),并且没有两个相邻顶点具有相同的A值。Path 在给定约束条件下,求具有最大值和的图(循环)中简单路径的长度,path,depth-first-search,cyclic-graph,Path,Depth First Search,Cyclic Graph,给定:无权无向图(循环)G(V,E),每个顶点有两个给定的值(例如A和B),并且没有两个相邻顶点具有相同的A值。 查找具有最大顶点B值和的简单路径,并具有以下约束: 1) 此路径包含相同A值的顶点,或者最多可以有两个不同的A值(这些值必须是交替的,因为没有两个相邻顶点可以有相同的A值) 在图中,最长简单路径从顶点2开始,在5结束,所有顶点最多有2个不同的值1和2,并且它们在路径中以交替方式1,2,1,2,1,并输出B值和 请记住:如果B的6的值为13,则顶点6可能是答案,因为解路径之和仅为12
查找具有最大顶点B值和的简单路径,并具有以下约束:
1) 此路径包含相同A值的顶点,或者最多可以有两个不同的A值(这些值必须是交替的,因为没有两个相邻顶点可以有相同的A值)
在图中,最长简单路径从顶点2开始,在5结束,所有顶点最多有2个不同的值1和2,并且它们在路径中以交替方式1,2,1,2,1,并输出B值和
请记住:如果B的6的值为13,则顶点6可能是答案,因为解路径之和仅为12
int dfs(int source, int parent, int score){
for each vertex V(V!=p) connected to source:
if(!vis[V]{
if(A[parent]==A[V]){
recur : dfs(V,source,B[source]+score)
}
}
return score+B[source];
}
它给出了错误的答案。欢迎使用堆栈溢出。请显示您最近在解决此问题时的非工作尝试。查看代码的修复通常比阅读其他人的解决方案更有启发性,尤其是这看起来像是家庭作业。。。见欢迎来到SO。很抱歉,我不清楚上面的问题。“没有两个相邻的顶点具有相同的值”-顶点1和3不是相邻的吗,它们的值都是2?“最长简单路径”***-为什么您对最长路径感兴趣**“如果B的6的值为13,则顶点6可能是答案”**-不确定这是什么意思**“但这是给我的,我想指出它!@c0der,编辑完成