-static void process_route(int nports) {
- double value= value_route(nports, ports);
- if (value < bestsofar) return;
+static void process_route(int nports, int totaldist) {
+ double absolute= value_route(nports, ports);
+ double perleague= absolute / totaldist;
+
+ if (absolute < best_absolute && perleague < best_perleague) return;
+
+#define CHK(absperl) \
+ fprintf(stderr,#absperl " %15f", absperl); \
+ if (absperl < best_##absperl) fputs(" ",stderr); \
+ else { best_##absperl= absperl; fputs("** ",stderr); }
+
+ CHK(absolute)
+ CHK(perleague)
+
+ fputs(" route",stderr);