Skip to content

Releases: Auzzy/1846-routes

Mail contract fix

04 Dec 13:31
Compare
Choose a tag to compare

Fixed bug that made applying the mail contract always fail.

Further algorithm improvements

03 Dec 12:21
Compare
Choose a tag to compare

Split route set calculation across a set of worker processes. This results in huge performance gains.

Algorithm improvements

27 Nov 16:07
Compare
Choose a tag to compare

There's still some work to be done, but this shows some marked improvements. It runs faster and consumes far less memory, and the amount consumed should stay roughly constant.

Roughly, the algorithm is now:

  • For each possible combination of trains:
    • sort the trains from biggest to smallest
    • sort each train's routes
    • perform an itertools.product()-like iteration over the train routes
      • from biggest train to smallest, find the highest value route that doesn't overlap the previous selected routes
        • if the current route and highest values in the next columns can't beat the best row, skip their iteration.
      • for the smallest train, return the highest value non-overlapping route
    • after collecting route sets, return the one with the maximum total value

v0.2: Add support for private companies.

22 Nov 14:22
Compare
Choose a tag to compare
Each railroad can specify it possesses the Mail Contract, or where it
placed the Steamboat or Meat Packing tile. When calculating tile value,
the appropriate bonuses are applied based on for whom the route is being
calculated, and if the included tiles have either token.

v0.1.2: Fixing incorrect method invocation.

13 Nov 23:19
Compare
Choose a tag to compare

Fixed incorrect method invocation which was only triggered on a specific path.

v0.1.1: Fixed some data entry errors.

01 Nov 00:07
Compare
Choose a tag to compare

Fixed some data entry issues.

v0.1

31 Oct 23:59
Compare
Choose a tag to compare

Initial release.