나는 가중치가있는 방향성 그래프를 가지고 있으며 그래프에서 모든 쌍의 최단 경로를 찾고 싶습니다. 그러나 나는 할인을 고려할 수 있기를 원한다. 예를 들어그래프가있는 그래프 순회 알고리즘
:
A->B with weight 10
A->C with weight 20
B->C with weight 10
C->D with weight 10
A->B->C with weight 15 because I get a discount of 5 if and only if I visit B first. (see clarification)
A->B->C->D should therefor have weight 25 while
A->C->D with weight 30
는이를 구현하는 방법이 있나요? 다양한 알고리즘 (Floyd-Warshall 등)을 살펴 보았지만이 문제를 인식하지 못하는 것 같습니다 ...
편집 : 명확하게 : 조합 (A-> B-> C) 만 할인을받습니다.
E->(A->B->C)->F gets it because it has the exact combination in its path, but
A->E->B->C does not get it
'A-> E-> B-> F-> C'로 가면 할인이 적용됩니까? –
아니요, 할인은 A-> B-> C – sandbox
인 경우에만 적용됩니다. 여전히 부적절한 정의입니다. 모든 할인 세트는 정확히 얼마나 정확하게 설명됩니까? "처음에 B를 방문하는 경우"라는 문구는 가능한 많은 의미를 가지고 있습니다. – Gene