Guillaume Koenig před 7 roky
rodič
revize
426cc137d9
1 změnil soubory, kde provedl 4 přidání a 5 odebrání
  1. 4 5
      main.go

+ 4 - 5
main.go

@@ -114,9 +114,9 @@ func (c *Car) distanceTo(x, y int) int {
114
 }
114
 }
115
 
115
 
116
 func Choose(c *Car) *Ride {
116
 func Choose(c *Car) *Ride {
117
-	bestRide := Rides[0]
118
-	bestLenOfRide := Rides[0].length()
119
-	bestTotal := c.distanceTo(Rides[0].a, Rides[0].b) + bestLenOfRide
117
+	var bestRide *Ride
118
+	bestLenOfRide := 0
119
+	bestTotal := 0
120
 	for _, r := range Rides[1:] {
120
 	for _, r := range Rides[1:] {
121
 		if r.used {
121
 		if r.used {
122
 			continue
122
 			continue
@@ -126,12 +126,11 @@ func Choose(c *Car) *Ride {
126
 		}
126
 		}
127
 		lenOfRide := r.length()
127
 		lenOfRide := r.length()
128
 		total := c.distanceTo(r.a, r.b) + lenOfRide
128
 		total := c.distanceTo(r.a, r.b) + lenOfRide
129
-		if lenOfRide*bestTotal < total*bestLenOfRide {
129
+		if bestRide == nil || lenOfRide*bestTotal < total*bestLenOfRide {
130
 			bestLenOfRide = lenOfRide
130
 			bestLenOfRide = lenOfRide
131
 			bestTotal = total
131
 			bestTotal = total
132
 			bestRide = r
132
 			bestRide = r
133
 		}
133
 		}
134
-		return r
135
 	}
134
 	}
136
 	return bestRide
135
 	return bestRide
137
 }
136
 }