From c37c572d7b5efd020600a03f0ab0515fa283c0d4 Mon Sep 17 00:00:00 2001 From: Elijah Opoku-Nyarko Date: Sat, 23 Apr 2022 18:34:31 -0400 Subject: [PATCH] added function to compare the distance between two roads --- project5 | Bin 188288 -> 213640 bytes project5.cc | 1 + province.cc | 8 ++++++++ test-data/project5.out | 17 +++++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/project5 b/project5 index e061e86f1dafc1e5c54ce20aeab8b6f6cb59b0d0..e643f06f28f4a7f78e562f093d8cc63646384ff2 100755 GIT binary patch delta 38455 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 delta 27986 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 W**z1wSSx5G5;D>|TZ4NgWc(l7>_length < road2._length; +} diff --git a/test-data/project5.out b/test-data/project5.out index 8caeb26..6b241e8 100644 --- a/test-data/project5.out +++ b/test-data/project5.out @@ -43,6 +43,16 @@ The shortest routes from Salem are: ------------------------------------------------ ------------------------------------------------ +The road upgrading goal can be achieved at minimal cost by upgrading: + + Salem to Beverly + Danvers to Beverly + Wenham to Danvers + Salem to Lynn + +------------------------------------------------ +------------------------------------------------ + ------------------------------------------------ ---------------- New DataSet: ------------------ @@ -65,3 +75,10 @@ The shortest routes from Wenham are: ------------------------------------------------ ------------------------------------------------ +The road upgrading goal can be achieved at minimal cost by upgrading: + + Hamilton to Wenham + +------------------------------------------------ +------------------------------------------------ +