我需要一种返回在两个点之间的路线中使用的所有道路*的方法,这是我拥有的地图:示例,点A至E,我需要这样的道路列表,例如:route(a,e,R).R=[1,5].我在标记已经访问过的路线时遇到问题,最重要的是,注册列表中使用的道路数。所以这是我到目前为止的代码:road(1,a,b).road(2,a,d).road(3,b,c).road(4,c,d).road(5,b,e).road(6,c,f).road(7,d,f).road(8,e,f).connected(A,B):-road(_,A,B).route(A,B,R):-road(R,A,B),road(R,B,A).route(A
我有一个struct有两个字段:structroad{intfrom,len;};出于某种原因,我需要能够订购我的road:按升序from在数组中按升序len在优先队列中我因此包括:#include#include#include#include我遇到过建议重载operator的网站,但由于两种可能的顺序感觉不对,它只会解决两者之一。通过弄乱教科书,我得到了这个工作:boolcmpFrom(constroad&a,constroad&b){return(a.from用于:std::sort(trips,trips+nbRoads,&cmpFrom);std::priority_queu